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

glaubercunha em oi.com.br glaubercunha em oi.com.br
Terça Agosto 1 17:36:16 CDT 2006


Ola Fernando, sem problemas!!!!
Creio que nao seja isso. O que acontece é o seguinte, se eu deixo esse
codigo separado, isolado só pra uma janela, ele funciona
perfeitamente. O problema só ocorre, quando eu coloco todo ele dentro
de uma função, funçao essa responsavel por chamar a janela "
Cadastro de departamento"

Tb estou começando com PHP-GTK, mas acho que o problema esta em ter uma
função dentro de outra função...

Obrigado pela ajuda, abraços

> Mensagem Original:
> Data: 09:29:56 01/08/2006
> De: Fernando Henrique Correa <fernandohcorrea em gmail.com>
> Assunto: Re: [PHP-GTK] estrutura de um programa

> Glauber,  desculpe não ter respondido...
> mais não sou um programador fera ainda em PHP-GTK.
>
> Creio que dentro de $cod não existe nenhum widget para se dar um foco, tente
> ver se realmente o objeto que vc está querendo dar foco esta lá mesmo.
> Utilize o var_dump($cod)...
>
>
> Em 31/07/06, glaubercunha em oi.com.br <glaubercunha em oi.com.br> escreveu:
>>
>> será que alguem pode me ajudar?!
>>
>> glaubercunha em 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);
>> >                                    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 em oi.com.br <mailto:glaubercunha em oi.com.br>*
>> >> < glaubercunha em oi.com.br <mailto:glaubercunha em 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 em oi.com.br
>> >>     <mailto:glaubercunha em oi.com.br> <mailto:glaubercunha em oi.com.br
>> >>     <mailto:glaubercunha em oi.com.br>>*
>> >>     > <glaubercunha em oi.com.br <mailto:glaubercunha em oi.com.br> <mailto:
>> >>     glaubercunha em oi.com.br <mailto:glaubercunha em 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 em php-gtk.com.br <mailto:Lista em php-gtk.com.br>
>> >>     <mailto:Lista em php-gtk.com.br <mailto:Lista em 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 em php-gtk.com.br <mailto:Lista em 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 em php-gtk.com.br <mailto:Lista em 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 em php-gtk.com.br
>> >> http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
>> >>
>> >
>> > _______________________________________________
>> > Lista mailing list
>> > Lista em php-gtk.com.br
>> > http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
>> >
>> >
>>
>> _______________________________________________
>> Lista mailing list
>> Lista em 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!!
>


--------------------------------------------------------------------------------
Aqui na Oi Internet você ganha ou ganha. Além de acesso grátis com
qualidade, ganha contas ilimitadas de email com 1 giga cada uma. Ganha
espaço ilimitado para hospedar sua página pessoal. Ganha flog, suporte
grátis e muito mais. Baixe grátis o Discador em
http://www.oi.com.br/discador e comece a ganhar.

Agora, se o seu negócio é voar na internet sem pagar uma fortuna,
assine Oi Internet banda larga a partir de R$ 9,90. Clique em
http://www.oi.com.br/bandalarga e aproveite essa moleza!




More information about the Lista mailing list