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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[phpgtk] Re: Duvidazinha...



Compacta tua aplicação e me manda o arquivo completo, ai tento rodar aqui e descubro onde esta este erro de duplicação.
É que não estou conseguindo entender mais oque é o que hehe

2009/10/29 Daniel Batista Lemes <dlemes@gmail.com>

ta declarado duas vezes a função
usa http://br.php.net/manual/pt_BR/language.oop5.autoload.php
provavelmente seja algum include

2009/10/29 EDUARDO <eduardoluizwilhelm@gmail.com>:
>
> olha fiz assim agora:
>
> <?php
>
> include_once ("pesquisa.class...bla bla")
>
> e quando eu rodo essa minha aplicação principal ele abre esse pesquisa
> (q está por primeiro) na tela ! em vez de abrir a janelinha com
> menu...
> tendeu?
>
> esse include_once nao deveria abrir a outra classe assim do nada né?
> só quando da um new.
>
> qq sê acha?
>
>
>
>
>
>
> On 29 out, 15:11, Bruno P. Gonçalves <scorni...@gmail.com> wrote:
>> Pois é, é o que o Helder disse, vc deve ta incluindo sem o "_once" e o PHP
>> deve ta incluindo o mesmo arquivos mais de uma vez.
>>
>> - - -
>> Bruno Pitteli Gonçalves
>> Desenvolvedor SAP Business One / WEB
>> scorni...@gmail.com
>> +55 018 97958674
>>
>> - - -
>> ScornInPC -http://blog.scorninpc.com/
>> Browse Happy -http://browsehappy.com/
>>
>> 2009/10/29 EDUARDO <eduardoluizwilh...@gmail.com>
>>
>>
>>
>> > Opa!
>> > esta acontecendo o mesmo!
>>
>> > porem o erro mudou agora...
>> > assim:
>>
>> > Fatal error: Cannot redeclare class PesquisaPessoa in /home/eduardo/
>>
>> > e agora?
>> > to tentando aqui de tudo...
>>
>> > On 27 out, 15:57, HELDER GOMES FERREIRA <helder.maurici...@gmail.com>
>> > wrote:
>> > > Só um palpite  voce por acaso esta destruindo a janela ?
>> > > Porque pode ser que esteja apenas escondendo a Janela .
>> > > Para destruir a janela no evento de clicar sobre o X do canto.
>> > >  fazer Janela=null;
>>
>> > > ou seja na sua classe pesquisar
>> > > existe um tratador para o evento hide da janela ?
>>
>> > > Outra coisa sobre o include_once ou require_once dentro da função so
>> > existe
>> > > para a propria função, e TALVEZ o php interplete que já foi incluido e
>> > não
>> > > inclui novamente .
>> > > Troque o require_once so por require ai toda vez ele coloca o arquivo na
>> > > memoria e ao sair da função ele apaga.
>>
>> > > 2009/10/26 Bruno P. Gonçalves <scorni...@gmail.com>
>>
>> > > > eu faria isso:
>>
>> > > > *classe1.class.php*
>> > > > <?php
>> > > >     class classe1
>> > > >     {
>> > > >         public function __construct()
>> > > >         {
>> > > >             // bla bla bla
>> > > >         }
>> > > >     }
>>
>> > > > *minha.aplicacao.php*
>> > > > <?php
>>
>> > > >     require_once("classe1.class.php");
>>
>> > > >     class minhaAplicacao
>> > > >     {
>> > > >         public function btnAbrir()
>> > > >         {
>> > > >             $classe1 = new classe1();
>> > > >         }
>> > > >     }
>>
>> > > > Isso faz mais sentido, pelo menos pra mim, por que assim, seu arquivo
>> > > > principal seria "minhas.aplicacao.php" certo? O interpretador vai ler
>> > esse
>> > > > arquivo, vc vai rodar "php minha.aplicacao.php". Logo, vc criaria uma
>> > > > classe, e só colocaria ela num arquivo diferente. Então para seu
>> > arquivo
>> > > > principal "achar" essa classe, vc teria que dizer, que o arquivo
>> > > > "classe1.class.php" tambem contem coisas que podem ser usadas, no caso
>> > a
>> > > > classe1.
>>
>> > > > Sacou? acho que me enrrolei um pouco pra explicar.
>>
>> > > > - - -
>> > > > Bruno Pitteli Gonçalves
>> > > > Desenvolvedor SAP Business One / WEB
>> > > > scorni...@gmail.com
>> > > > +55 018 97958674
>>
>> > > > - - -
>> > > > ScornInPC -http://blog.scorninpc.com/
>> > > > Browse Happy -http://browsehappy.com/
>>
>> > > > 2009/10/26 EDUARDO <eduardoluizwilh...@gmail.com>
>>
>> > > >> Cara..
>> > > >> não deu nenhuma....
>>
>> > > >> a questão de por parênteses tanto faz, ela abre de qualquer jeito e
>> > > >> depois nao abre...
>>
>> > > >> e ao de colocar o include (fora da Classe do arquivo principal, onde
>> > > >> estão as funções), ele abre só a que tiver la em cima, por ex.: se
>> > > >> colocar o  include 'Classes/telecentro_cadastro.class.php'; em cima da
>> > > >> classe principal ao rodar vai abrir somente esse!
>>
>> > > >> como vc faria?
>> > > >> esqueçe esse jeito, e me diga que caminho vc tomaria para chamar as
>> > > >> classes dos outros arquivos.
>>
>> > > >> ==========================================================
>> > > >> <?php
>>
>> > > >> class Application
>>
>> > > >>   {
>>
>> > > >>    private $window;
>>
>> > > >>      function __construct()
>>
>> > > >>    {
>>
>> > > >>    $this->window = new GtkWindow;
>>
>> > > >>    $this->window->set_size_request(513,235);
>>
>> > > >>    $this->window->set_uposition(384,286);
>>
>> > > >>    $this->window->set_title('CADASTRO - PESQUISA');
>>
>> > > >>    $vbox = new GtkVBox;
>>
>> > > >>    $menu['_Cadastro'][] = array('Imagens/
>> > > >> cadastroo.png','Cadastrar',array($this, 'onAdicionar'));
>>
>> > > >>    $menu['_Cadastro'][] = array('Imagens/sair.png','Sair', array(Gtk,
>> > > >> 'main_quit'));
>>
>> > > >>    $menu['_Pesquisa'][] = array('Imagens/
>> > > >> pesquisa.png','Pesquisar',array($this, 'onPesquisar'));
>>
>> > > >>    $menu['_Ajuda'][] = array('Imagens/help.png', 'Sobre', array
>> > > >> ($this, 'onSobre'));
>>
>> > > >>    $MenuBar = new TMenu($menu);
>>
>> > > >>    $this->window->add($vbox);
>>
>> > > >>    $vbox->pack_start($MenuBar, false, false);
>>
>> > > >>    $this->window->show_all();
>>
>> > > >>  }
>>
>> > > >>  function onAdicionar()
>>
>> > > >> {
>>
>> > > >>   include_once 'Classes/cadastro.class.php';
>>
>> > > >>   $obj = new cadastro;
>>
>> > > >>   $obj->Show();
>>
>> > > >> }
>>
>> > > >>  function onPesquisar()
>>
>> > > >> {
>> > > >>  include_once 'Classes/pesquisa.class.php';
>> > > >>  $obj = new pesquisa;
>>
>> > > >>  $obj->Show();
>>
>> > > >> }
>>
>> > > >>  function onSobre()
>>
>> > > >> {
>> > > >> .
>> > > >> .
>> > > >> .
>> > > >> .
>>
>> > > >>  Gtk::main();
>>
>> > > >> }
>>
>> > > >>  function onSair()
>>
>> > > >>  {
>>
>> > > >>  Gtk::main_quit();
>>
>> > > >>  }
>>
>> > > >> }
>>
>> > > >>  include_once 'Classes/TMenu.class.php';
>>
>> > > >>  new Application();
>>
>> > > >>  Gtk::main();
>>
>> > > >> ?>
>>
>> > > >> ================================================
>> > > >> aew!
>> > > >> to te mandando o meu cód. pra vc dá uma olhadinha...
>>
>> > > >> ah!...
>> > > >> só pra aproveitar....
>> > > >> no pesquisa.class.php
>> > > >> eu fiz uma tabelinha com o GtkTreeView, GtkListStore ...
>> > > >> assim:
>>
>> > > >> ================================================
>> > > >> $scroll = new GtkScrolledWindow;
>> > > >>    $scroll->set_size_request(160 ,640);
>> > > >>    $scroll->set_policy(GTK::POLICY_AUTOMATIC, GTK::POLICY_ALWAYS);
>>
>> > > >>    $this->list = new GtkTreeView;
>>
>> > > >>    $scroll->add($this->list);
>>
>> > > >>    $this->model = new GtkListStore(Gobject::TYPE_STRING,
>> > > >> Gobject::TYPE_STRING,
>>
>> > > >>                                       Gobject::TYPE_STRING);
>>
>> > > >>    $this->list->set_model($this->model);
>>
>> > > >>        $column1 = new GtkTreeViewColumn('Nome');
>>
>> > > >>        $column2 = new GtkTreeViewColumn('CPF');
>>
>> > > >>        $column3 = new GtkTreeViewColumn('E-mail');
>>
>> > > >>        $this->model->set_sort_column_id(0, Gtk::SORT_ASCENDING);
>>
>> > > >>        $column1->set_sort_column_id(0);
>>
>> > > >>        $column2->set_sort_column_id(1);
>>
>> > > >>        $column3->set_sort_column_id(2);
>>
>> > > >>        $cell_renderer1=new GtkCellRendererText();
>>
>> > > >>        $cell_renderer2=new GtkCellRendererText();
>>
>> > > >>        $cell_renderer3=new GtkCellRendererText();
>>
>> > > >>        $column1->pack_start($cell_renderer1, true);
>>
>> > > >>        $column2->pack_start($cell_renderer2, true);
>>
>> > > >>        $column3->pack_start($cell_renderer3, true);
>>
>> > > >>        $cell_renderer1->set_property('width', 170);
>>
>> > > >>        $cell_renderer2->set_property('width', 100);
>>
>> > > >>        $cell_renderer3->set_property('width', 120);
>>
>> > > >>        $column1->set_attributes($cell_renderer1, 'text', 0);
>>
>> > > >>        $column2->set_attributes($cell_renderer2, 'text', 1);
>>
>> > > >>        $column3->set_attributes($cell_renderer3, 'text', 2);
>>
>> > > >>        $this->list->append_column($column1);
>>
>> > > >>        $this->list->append_column($column2);
>>
>> > > >>        $this->list->append_column($column3);
>>
>> > > >> =================================================
>> > > >> só q quando aparece-se o dado la nas linhas...
>> > > >> eu queria dar um double_click, para que quando eu clica-se duas vezes
>> > > >> e tal, ele fize-se então uma função ai joga-se os dados do nome, cpf
>> > > >> ou email que eu cliquei nos campos para apresentar os dados!
>>
>> > > >> o problema eh que eu nao sei qual o método, (consegui usar esse em um
>> > > >> calendário):
>> > > >> ================================================
>>
>> > > >> $this->calendar->connect_simple('day-selected-double-click', array
>> > > >> ($this, 'onSelect'));
>>
>> > > >> =================================================
>> > > >> ah hora q clico duas vezes, ele fecha o calendario e joga a data no
>> > > >> campo. ok!
>> > > >> só nao sei como fazer para a lista.
>> > > >> se tiver alguma dica, ou souber...
>>
>> > > >> :D
>>
>> > > >> Valeu!
> >
>




--~--~---------~--~----~------------~-------~--~----~
Grupo PHP-GTK Brasil (http://www.php-gtk.com.br)
Para enviar mensagens, o e-mail é phpgtk@googlegroups.com
Para cancelar a sua inscrição, o e-mail é phpgtk+unsubscribe@googlegroups.com
Mais opções na página do grupo: http://groups.google.com.br/group/phpgtk?hl=pt-BR
-~----------~----~----~----~------~----~------~--~---