RE: [PHP-GTK] php-gtk win crashes
[email protected] ("Hien Quan") Mon, 6 Aug 2001 16:05:25 +0100
| Newsgroups | php.gtk |
|---|---|
| Message-ID | <002401c11e89$39657db0$861f0263@icbecuk> |
Thanks for the response.... the answer is NOPE! Strange thing is that I've got this to work before until I tried playing around with some other widgets. -----Original Message----- From: [email protected] [mailto:[email protected]] Sent: 06 August 2001 15:08 To: [email protected] Subject: Re: [PHP-GTK] php-gtk win crashes only a very tiny thought, and probably wrong - When I've set counters in the past I've always declared it as an integer type. $timer = 0; $timer = (int)$timer; Does that make a difference here? > Hi All, > > >From various code snippets posted to this group and the example files, I'm > trying to run the program below, but keep getting a Dr. Watson php.exe crash > dump on WinNT. > The window opens up OK with the default NULL value in the entry box. However > php crashes when the timeout_add(...) routine is called for the second time. > Any thoughts? > > Thanks, > Hien > > ----code snippet---- > <? > if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') > dl('php_gtk.dll'); > else > dl('php_gtk.so'); > > function delete_event() { > return false; > } > > /* > * Called when the window is being destroyed. Simply quit the main loop. > */ > function destroy() { > Gtk::main_quit(); > } > > // general close window function all widgets > function close_window($widget,$text_entry) > { > $value = $text_entry->get_text(); > print $value; > $window = $widget->get_toplevel(); > $window->hide(); > return true; > } > > function create_entry() > { > $window = &new GtkWindow; > $windows['entry'] = $window; > $window->connect('delete-event', 'delete_event'); > $window->set_title('Configuration'); > $window->set_border_width(0); > > $box1 = &new GtkVBox(); > $window->add($box1); > $box1->show(); > > $box2 = &new GtkVBox(false, 10); > $box2->set_border_width(10); > $box1->pack_start($box2); > $box2->show(); > > $entry = &new GtkEntry(); > $entry->set_text('Hello World'); > $entry->select_region(0, 5); > $box2->pack_start($entry); > $entry->show(); > $entry->set_visibility(false); > > $separator = &new GtkHSeparator(); > $box1->pack_start($separator, false); > $separator->show(); > > $box2 = &new GtkVBox(false, 10); > $box2->set_border_width(10); > $box1->pack_start($box2, false); > $box2->show(); > > $button = &new GtkButton(' Save and Close'); > $button->connect('clicked', 'close_window',$entry); > $button->set_flags(GTK_CAN_DEFAULT); > $button->grab_default(); > $button->show(); > } > > > function draw_screen(){ > global $entry1,$timer; > $entry1->set_text("".$timer ); > return true; > } > > > // create_main_window() > $window = &new GtkWindow(); > $window->set_policy(false, false, false); > $window->set_name('main window'); > $window->set_usize(200, 400); > $window->set_uposition(20, 20); > > $window->connect_object('destroy', array('gtk', 'main_quit')); > $window->connect_object('delete-event', array('gtk', 'false')); > > $box1 = &new GtkVBox(); > $window->add($box1); > > $label = &new GtkLabel('Timer'); > $box1->pack_start($label,false); > $label->show(); > > $entry1 = &new GtkEntry(); > $entry1->set_text('NULL'); > $box1->pack_start($entry1,false); > $entry1->show(); > $entry1->set_editable(false); > $entry1->set_sensitive(true); > > $separator = &new GtkHSeparator(); > $box1->pack_start($separator, false); > > $box2 = &new GtkVBox(false, 10); > $box2->set_border_width(10); > $box1->pack_start($box2, false); > > $button = &new GtkButton('close'); > $button->connect_object('clicked', array('gtk', 'main_quit')); > $box2->pack_start($button); > $button->set_flags(GTK_CAN_DEFAULT); > $button->grab_default(); > > $window->show_all(); > > > //******* Global variables > $timer = 0; > > //create_main_window(); > gtk::timeout_add(1500, 'draw_screen'); > > Gtk::main(); > ?> > > > -- > PHP GTK Mailing List (<a href="/bti/redirect.html?http://www.php.net/)" target="t21Link">http://www.php.net/)</a> > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > To contact the list administrators, e-mail: [email protected] >