PHP-GTK: Criando Aplicações Gráficas com PHP Adianti Framework para PHP PHP Programando com Orientação a Objetos Criando Relatórios com PHP

[PHP-GTK] estrutura de um programa

Pablo Dall'Oglio pablo em dalloglio.net
Quinta Agosto 3 00:53:43 CDT 2006


Em Seg, 2006-07-31 às 14:07 -0300, glaubercunha at oi.com.br escreveu:
> será que alguem pode me ajudar?!
> 
> glaubercunha at oi.com.br escreveu:
> > Segue o codigo abaixo:
> >
> > o erro esta acontecendo na linha 42(indicada por uma ->)."Fatal 
> > Error:Call to a member function on a non-object"
> >
> > <?
> > //carrega biblioteca gtk
> > dl('php_gtk.' . PHP_SHLIB_SUFFIX);
> >
> > //LE O ARQUIVO .GLADE
> > $interface = new GladeXML('c:\php4\test\rhman\objetos\principal.glade');
> >
> > //conecta todos os signais que vc tiver na interface
> > $interface->signal_autoconnect();
> >
> > include ('dialogo.class');
> > include ('mensagem.class');
> >          function caddep(){
> >         $caddep  = new 
> > GladeXML('c:\php4\test\rhman\objetos\departamento.glade');
> >         $window  = $caddep->get_widget('frmcaddep');
> >         $cod     = $caddep->get_widget('txtcod');
> >         $dep     = $caddep->get_widget('txtdep');
> >         $window  = $caddep->get_widget('frmcaddep');
> >         $novo    = $caddep->get_widget('cmdnovo');
> >         $salvar  = $caddep->get_widget('cmdsalvar');
> >         $cancelar= $caddep->get_widget('cmdcancelar');
> >         $alterar = $caddep->get_widget('cmdalterar');
> >         $excluir = $caddep->get_widget('cdmexcluir');
> >                $salvar->connect_object("clicked","salvardep");
> >              function sairdep(){// funcao para sair do programa
> >                 new Dialogo ('Deseja realmente sair?','seSim');
> >                 return;}
> >             function seSim() {
> >                 gtk::main_quit();}
> >                            function salvardep($object){ //funcao 
> > Salvar, insere no banco de dados
> >                 include ('conexao.php');
> >                                global $dep,$cod,$window;
> >                                /*$departamento = $dep->get_text();
> >                 var_dump($departamento);
> >                 $codigo  = $cod->get_text();*/
> > linha 42 ->$window->set_focus($cod);

Sugiro fazer um debug antes do erro, assim:
var_dump($window);
var_dump($cod);

Você verá que uma das duas pode ser NULL. Um palpite, pode ser que os
campos no glade tem outro nome, o que faz com que o get_widget não
capture o objeto corretamente. Veja isto (frmcaddep, txtcod);

Pablo


> >                                    if (!$dep->get_text || 
> > !$cod->get_text){  //verifica se os campos foram preenchidos
> >                         new Mensagem('Preencha os campos corretamente!');
> >                         $cod->set_text('');
> >                         $dep->set_text('');
> >                         return;}
> >                                        
> > if(is_numeric($cod->get_text)){//verifica se o campo e numerico
> >                         $sql   = "INSERT INTO departamento 
> > (codigo,departamento) values ('$cod->get_text','$dep->get_text')";  
> > //Cria a query sql
> >                         $exec  = mysql_query($sql, $con); // executa o 
> > query sql
> >                         mysql_close($con); //fecha a conexao
> >                                                    if ($exec){
> >                                 new Mensagem('Cadastro efetuado com 
> > sucesso');
> >                                 $cod->set_text('');
> >                                 $dep->set_text('');
> >                                 return;} // esvazia o campo
> >                             else{
> >                                 new Mensagem('codigo ou departamento 
> > ja cadastrado');
> >                                 $cod->set_text('');
> >                                 $dep->set_text('');
> >                                 return;}}
> >                     else{
> >                         new Mensagem('O campo CODIGO deve ser numerico');
> >                         $cod->set_text('');
> >                         return;}}
> >                         }
> >      function cadcargo(){
> >        $cargo  =   new 
> > GladeXML('c:\php4\test\rhman\objetos\cargo.glade');
> >       }
> >        function cadturno(){
> >        $turno  =   new 
> > GladeXML('c:\php4\test\rhman\objetos\turno.glade');
> >        }
> >      function cadferiado(){
> >        $feriado    =   new 
> > GladeXML('c:\php4\test\rhman\objetos\feriado.glade');
> >        }
> >       function sair()
> >   {
> >   new Dialogo ('Deseja realmente sair?','onSim');
> >   return;}
> >   function onSim() {
> >             gtk::main_quit();}
> > Gtk::main();
> > ?>
> >
> >
> >
> > Fernando Henrique Correa escreveu:
> >> Ok, Muita calma...
> >> Posta os erros para que te possamos ajudarmos...
> >>
> >> Em 26/07/06, *glaubercunha at oi.com.br <mailto:glaubercunha at oi.com.br>* 
> >> < glaubercunha at oi.com.br <mailto:glaubercunha at oi.com.br>> escreveu:
> >>
> >>     Mas essa é justamente a ideia! =)
> >>
> >>     Como faço, para que dessa aplicação central chamar as outras
> >>     janelas....
> >>
> >>     eu já criei um menu, com as opções, e registrei pra esses menus, os
> >>     sinais que chamam as funções callback
> >>     dentro dessa funções eu coloquei o codigo das janelas isoladas, 
> >> porem
> >>     deu erro... tentei por "include" tb =), so que tb deu erro.....
> >>
> >>
> >>     entendeu mais ou menos?!
> >>
> >>     obrigado
> >>
> >>     Fernando Henrique Correa escreveu:
> >>     > Que tal criar uma aplicação central, com icones, menus, e
> >>     apartir dela
> >>     > vc chamar as suas janelas isoladas???
> >>     >
> >>     > Com essa aplicação central , vc pode definir um geranciamento de
> >>     > usuarios controle de perfil de acesso... assim vai...
> >>     >
> >>     > Em 25/07/06, * glaubercunha at oi.com.br
> >>     <mailto:glaubercunha at oi.com.br> <mailto:glaubercunha at oi.com.br
> >>     <mailto:glaubercunha at oi.com.br>>*
> >>     > <glaubercunha at oi.com.br <mailto:glaubercunha at oi.com.br> <mailto:
> >>     glaubercunha at oi.com.br <mailto:glaubercunha at oi.com.br>> > escreveu:
> >>     >
> >>     >     Boa tarde lista!
> >>     >     Tenho a seguinte duvida, como estruturar minha aplicação?!
> >>     >
> >>     >     Estou desenvolvendo um aplicativo para o setor de RH, de onde
> >>     >     trabalho.
> >>     >     Sou iniciante em PHP-GTK, e minha duvida é....
> >>     >
> >>     >     O sistema sera composto por diversas janelas, já tenho
> >>     algumas delas
> >>     >     funcionando, porem isoladamentes.
> >>     >     Preciso agora, coloca-las dentro de uma aplicação principal.
> >>     >
> >>     >     Se alguem poder me ajudar, ficaria muito agradecido!
> >>     >
> >>     >     Obrigado
> >>     >
> >>     >     _______________________________________________
> >>     >     Lista mailing list
> >>     >     Lista at php-gtk.com.br <mailto:Lista at php-gtk.com.br>
> >>     <mailto:Lista at php-gtk.com.br <mailto:Lista at php-gtk.com.br>>
> >>     >     http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
> >>     <http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista>
> >>     >
> >>     >
> >>     >
> >>     >
> >>     > --
> >>     > Fernando Henrique Correa
> >>     > ~//~//~//~//~//~//~//~//~//~//~
> >>     >
> >>     > ANTES DE IMPRIMIR, PENSE EM SUA RESPONSABILIDADE E COMPROMISSO 
> >> COM O
> >>     > MEIO AMBIENTE.
> >>     > JÁ IMPRIMIU!?! NÃO JOGUE FORA, UTILIZE O VERSO DA FOLHA COMO
> >>     RASCUNHO!!
> >>     >
> >>     
> >> ------------------------------------------------------------------------
> >>     >
> >>     > _______________________________________________
> >>     > Lista mailing list
> >>     > Lista at php-gtk.com.br <mailto:Lista at php-gtk.com.br>
> >>     > http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
> >>     <http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista>
> >>     >
> >>
> >>     _______________________________________________
> >>     Lista mailing list
> >>     Lista at php-gtk.com.br <mailto:Lista at php-gtk.com.br>
> >>     http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
> >>
> >>
> >>
> >>
> >> -- 
> >> Fernando Henrique Correa
> >> ~//~//~//~//~//~//~//~//~//~//~
> >>
> >> ANTES DE IMPRIMIR, PENSE EM SUA RESPONSABILIDADE E COMPROMISSO COM O 
> >> MEIO AMBIENTE.
> >> JÁ IMPRIMIU!?! NÃO JOGUE FORA, UTILIZE O VERSO DA FOLHA COMO RASCUNHO!!
> >> ------------------------------------------------------------------------
> >>
> >> _______________________________________________
> >> Lista mailing list
> >> Lista at php-gtk.com.br
> >> http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
> >>   
> >
> > _______________________________________________
> > Lista mailing list
> > Lista at php-gtk.com.br
> > http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
> >
> >
> 
> _______________________________________________
> Lista mailing list
> Lista at php-gtk.com.br
> http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
-- 
:: Pablo Dall'Oglio
:: www.dalloglio.net



More information about the Lista mailing list