[php/gtk]ik krijg het maar niet werkend

Pagina: 1
Acties:

  • Robinski
  • Registratie: September 2000
  • Laatst online: 22-07 20:54

Robinski

A.K.A. RHarmsen

Topicstarter
is er eigenlijk wel iemand met php/gtk ervaring?

ik wil dus dat als ik in $win op het knopie druk dat $win weer wordt gehide, en $windows weer verschijnt, maar dit hiden lukt niet.

ik blijf deze error krijgen:
Call to a member function on a non-object on line 27
dit is: $win->hide();

wat doe ik fout, andersom werkt het namenlijk wel, dat als ik in $window op een knopie druk dat $window wordt gehide en $win word weergegeven

iemand die mij misschien kan helpen?
ff Source erbij zetten natuurlijk
PHP:
1
<?if (!class_exists('gtk')) {    if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')        dl('php_gtk.dll');    else        dl('php_gtk.so');}function delete_event(){    return false;}function destroy(){    Gtk::main_quit();}function terug(){    global $window;    global $win;    $window->show();    $win->hide();}function hello(){    global $window;    global $win;    $win = &amp;new GtkWindow();    $win->connect('destroy', 'destroy');    $win->connect('delete-event', 'delete_event');    $win->set_border_width(15);    $win->set_title('Hoeveel Foto\'s!?');    $vbox = &amp;new GtkVBox(false,10);    $vbox->set_border_width(5);    $win->add($vbox);    $vbox->show();    $db = mysql_connect("pent133", "ro*******", "****");    mysql_select_db("ro*******");    $sql = "    SELECT COUNT(ID) AS AANTAL    FROM new_com";    $result = mysql_query($sql);    $row = mysql_fetch_object($result);    $label = &amp;new GtkLabel("Er is in totaal $row->AANTAL keer commentaar geleverd op de fotos");    $vbox->pack_start($label, false, false);    $label->show();    $knop = &amp;new GtkButton('Terug?!');    $knop->connect('clicked', 'terug');    $vbox->pack_start($knop, false, false);    $tip = &amp;new GtkTooltips();    $tip->set_delay(200);    $tip->set_tip($knop, 'Ga terug naar vorige schermpie', '');    $tip->enable();    $knop->show();    $win->show();    $window->hide();}$window = &amp;new GtkWindow();$window->connect('destroy', 'destroy');$window->connect('delete-event', 'delete_event');$window->set_title('Boni-Maho foto zooi');$window->set_border_width(20);$vbox = &amp;new GtkVBox(false,10);$vbox->set_border_width(5);$window->add($vbox);$vbox->show();$button = &amp;new GtkButton('Hoeveel commentaar op foto\'s?!');$button->connect('clicked', 'hello');$vbox->pack_start($button, false, false);$tt = &amp;new GtkTooltips();$tt->set_delay(200);$tt->set_tip($button, 'Check hoeveel posts er in DB staan', '');$tt->enable();$sluit = &amp;new GtkButton('Sluit alle vensters?!');$sluit->connect('clicked', 'destroy');$vbox->pack_start($sluit, false, false);$tt2 = &amp;new GtkTooltips();$tt2->set_delay(200);$tt2->set_tip($sluit, 'Sluit het programmatje', '');$tt2->enable();$window->show_all();Gtk::main();?>

10xAXItec AC-265P = 2,650kWp @ SolarEdge SE2200 - PVOutput


  • Robinski
  • Registratie: September 2000
  • Laatst online: 22-07 20:54

Robinski

A.K.A. RHarmsen

Topicstarter
niemand die php-gtk gebruikt?
of het probleem kan oplossen,
ik kom er nog steeds niet uit

<<SCHOP>>

10xAXItec AC-265P = 2,650kWp @ SolarEdge SE2200 - PVOutput


  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
waarom een app gaan maken in php, komop, serieus zal het nooit worden, en als je iets wilt leren leer dan C of Java ofzo..

Lijkt me een stuk zinniger. Verder denk ik dat er meer mensen dit inzien en weinig mensen er zich dus in verdiepen.

  • RdeTuinman
  • Registratie: Mei 2001
  • Laatst online: 16-08 07:25
Is dit niet een typisch geval van 'vieze globals'?

In function terug worden twee globals gebruikt; $window en $win. De variabele $window wordt in het programma zelf aangemaakt. Maar de variabele $win wordt aangemaakt in een functie hello. Misschien dat je daar eens naar moet kijken. En veel mooier is natuurlijk om de globals te vervangen door
PHP:
1
<?function terug($window,$win)?>

en
PHP:
1
<?function hello($window, $win)?>

en dan gewoon de juiste variabele meegeven als je de functie aanroept...