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: Erros que já passou por isso



Ah, isso tem que ser na mão mesmo.

Se voce fechar a janela, pra encerrar a aplicação, não tem galho, não precisa, só destruir, ta ótimo. Se voce ta usando uma janela PAI, e quer destruir uma filha, tem como vc dar o unset() em algum lugar então. Não creio que seja necessario, mas por via das duvidas, o xdegub pode dizer isso pra vc (eu acho, pois comecei a pouco dar uma futucada).

- - -
http://blog.scorninpc.com/
Bruno Pitteli Gonçalves
Desenvolvedor SAP B1 / WEB
scorninpc@gmail.com
+55 018 97958674


2009/6/7 Bruno Gonçalves <scorninpc@gmail.com>
Penso eu que não, mas voce pode usar o unset($OBJETO_JANELA); pra dar uma garantida.  =)


- - -
http://blog.scorninpc.com/
Bruno Pitteli Gonçalves
Desenvolvedor SAP B1 / WEB
scorninpc@gmail.com
+55 018 97958674


2009/6/6 HELDER GOMES FERREIRA <helder.mauricicio@gmail.com>
Vou postar aqui mesmo
Pablo encontrei um livro americano de python com a mesma capa do seu livro.
Parabens pela segunda edição com capa dura e tudo mais legau.


Sobre o __destruct eu quero saber como destruir uma classe ao fechar a janela que foi criada na classe.
Se voce destruir somente a janela a classe que a criou continua na memoria num é mesmo ?




2009/6/6 Bruno Gonçalves <scorninpc@gmail.com>
__destruct só é chamado no final da classe, é o ultimo método que é executado em uma classe.

Sobre as constantes, eu ja parei de ficar verificando, eu particularmente só estou utlizando GObject.


- - -
http://blog.scorninpc.com/
Bruno Pitteli Gonçalves
Desenvolvedor SAP B1 / WEB
scorninpc@gmail.com
+55 018 97958674


2009/6/6 HELDER GOMES FERREIRA <helder.mauricicio@gmail.com>

Ja que estamos falando de erros

Imagine que tenhamos feito uma classe que utiliza uma janela feita em glade.
ai o cara fecha a janela utilizando o x do canto.
a janela se fecha.
E a classe como faço para destruir

se eu utilizar somente function __destruct(){}
ela destroi a classe ?

e até quando preciso verificar se é GTK:: ou GObject:: ou GObject:: so será utilizado junto ao liststore ?



2009/6/6 Bruno Gonçalves <scorninpc@gmail.com>

Assim funcinou aqui,

$window = new GtkWindow();
    $window->set_size_request(500, 500);
    $window->connect_simple("destroy", array("Gtk", "main_quit"));
   
    $model = new GtkListStore(GObject::TYPE_STRING);
    $cellRenderer = new GtkCellRendererText();
   
    $combo = new GtkComboBox($model);
    $combo->set_size_request(100, 30);
    $combo->pack_start($cellRenderer);
    $combo->set_attributes($cellRenderer, 'text', 0);
   
    $model->append(array("Item 1"));
    $model->append(array("Item 2"));
    $model->append(array("Item 3"));
    $model->append(array("Item 4"));
   
    // Select
    $combo->set_active(3);
   
    $fix = new GtkFixed();
    $fix->put($combo, 8, 8);
    $window->add($fix);
    $window->show_all();
    Gtk::main();

Se eu passo o model pelo set_model() da erro tb. mas pelo construtor vai normal;

- - -
http://blog.scorninpc.com/
Bruno Pitteli Gonçalves
Desenvolvedor SAP B1 / WEB
scorninpc@gmail.com
+55 018 97958674


2009/6/6 Pablo DallOglio <pablo@dalloglio.net>

Esse é um bug no construtor da GtkComboBox, não sei se eles já corrigiram...
Estou esperando sair um release novo para compilar tudo novamente...
Por enquanto estou usando modelo, desta forma:

<?php
$a = new GtkWindow;

$unidade = GtkComboBox::new_text();
$model = new GtkListStore(GObject::TYPE_STRING, GObject::TYPE_STRING);
$unidade->set_model($model);

$cell_renderer = new GtkCellRendererText;
$unidade->pack_start($cell_renderer, true);
$unidade->set_attributes($cell_renderer, 'text', 1);

$aunidades=array(1=>'kilo', 2=>'grama', 3=>'litro', 4=>'mililitro');
foreach ($aunidades as $codigo=>$descricao)
{
    $model->append(array($codigo, $descricao));
}
$a->add($unidade);
$a->show_all();
Gtk::Main();
?>


abraços,
Pablo

2009/6/5 HELDER GOMES FERREIRA <helder.mauricicio@gmail.com>

Hoje eu instalei o phpgtk2c_scintilla do pablo piorou o erro
o mais intrigante é que o mesmo programa roda no windows e em um ubuntu 9.04 atualizado o phpgtk2b do pablo
ai testei testei e achei este erro
$this->combo_modulo = new GtkComboBox(); Falha de segmentação

corrigindo
$this->listStore_combo->append(array("PDV"));
        $this->combo_modulo = new GtkComboBox($this->listStore_combo);

assim funcionou mas apareceu este cuidado
(B2StokPDV.php:18110): GLib-GObject-WARNING **: IA__g_object_new_valist: object class `GtkComboBox' has no property named `text-column'

Alguem pode me dar uma luz

2009/6/4 helder.mauricio <helder.mauricicio@gmail.com>

(B2StokPDV.php:13115): Gdk-WARNING **: gdk_window_set_icon_list: icons
too large
(B2StokPDV.php:13115): Gdk-WARNING **: gdk_window_set_icon_list: icons
too large
(B2StokPDV.php:13115): Gdk-WARNING **: gdk_window_set_icon_list: icons
too large
Falha de segmentação

Alguem sabe me dizer de onde vem um erro como este? já tentei simular
em outra maquina não aparece e na maquina que estou desenvolvendo uma
vez ou outra o programa funciona outras aparece este erro.

Este programa ja tinha sido testado e não dava este erro eu dei uma
dividida em modulos e apareceu este erro. e en outra maquina ele não
se manifesta nem o warning

if (defined("GObject::TYPE_STRING")) {
       $this->liststore_entrega=new GtkListStore(
           GObject::TYPE_STRING, // 0 codmerc
            );
       } else {
       $this->liststore_entrega=new GtkListStore(
           Gtk::TYPE_STRING, // 0 codmerc
                );
       }

e outro caso é até quando precisa colocar esta verificação acima ou
tera sempre de colocar ou quando utilizar





















--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---