Mailinglisten-Archive |
Hallo. On Sunday 27 January 2002 17:13, you (Roland Spielhofer) wrote: > Hallo! > Erst mal danke für die vorangegange Hilfe, aber wo die einen Probleme > verschwinden, tauchen neue auf :-( > > Ich öffne mit einer Funktion aus dem Hauptfenster heraus ein neues > Fenster, in dem u.a. eine Combo-Box enthalten ist: > > function new_recipient() { > neues fenster... > neue combobox... > neue items... > neue textfelder > neuer button "Speichern" > } > Dieser Button ruft beim Klick die Funktion > > function save_recipient(){ > global $combo_vorwahl, $nummer, $name; > $auswahl=$combo_vorwahl->entry; > $netz=$auswahl->get_text(); > [...] > } > auf. > $combo_auswahl ist die combo, die in der oberen Funktion definiert > wurden, $name und $nummer sind Textfelder. > Sobald ich also auf Speichern klicke, gibt´s einen Fatal error in > line [...], also der Zeile mit $auswahl=..... > "Call to a member function on a non-object". > Wie greife ich nun auf die ComboBox bzw auf die Textfelder zu (Inhalt > soll in ein Array geschrieben werden, und das dann abgespeichert). > > Wie krieg ich die $combo_auswahl dazu, daß sie in der Funktion > bekannt ist, oder woran liegt es, daß sie nicht greifbar ist? > > Ich durchschaue irgendwie die Struktur dahinter nicht.... Folgendes müsste äquivalent zu deinem code sein: <?php function foo(){ global $a; print $a; } function bar(){ $a = "yeha"; foo(); } bar(); ?> Hierbei wird $a nicht ausgegeben. So geht's: <?php $a = ""; function foo(){ global $a; print $a; } function bar(){ global $a; $a = "yeha"; foo(); } bar(); ?> Oder so: <?php class test { var $a; function foo(){ print $this->a; } function bar(){ $this->a = "yeha"; $this->foo(); } } $t = new test; $t->bar(); ?> Grüsse, Frank
php::bar PHP Wiki - Listenarchive