Thread Referenz zu Klassen speichern
(8 answers)
Opened by Tr0Nix at 2007-08-27 18:03
Hallo zusammen
Folgendes Problem: Ich möchte in einem Konfigurations-Objekt Referenzen auf Klassen verwalten, um diese dann an anderen Teilen in meinem Code wieder zuzugreifen. Beispiel: Code (perl): (dl
)
1 2 $config->setConfig('CUI', new Curses::UI (-clear_on_exit => 1, -debug => $debug)); $config->getConfig('CUI')->set_binding(sub{exit}, "\cQ"); Das Funktioniert ganz prima. Ich will es jetzt aber einen Schritt weitertreiben und das $config-Objekt, welches alle Referenzen gespeichert hat, an eine Klasse von mir weitergeben Code (perl): (dl
)
my $ui = new UI(\$config); In der Klasse selbst wird im Konstruktor über das Konfigurationsobjekt auf eine Registrierte Klasse (hier Curses::UI) zugegriffen: Code (perl): (dl
)
1 2 3 4 5 6 7 sub new { my ($self, $config) = @_; bless $config, UI_Config; my $main = $config->getConfig('CUI')->add( undef, 'Window', -title => 'Main Window', ); Leider klappt das jedoch nicht ganz wie ich es mir wünsche. Die Fehlermeldung die ich erhalte ist: Can't call method "add" on an undefined value at Forms/UI.pm line 8. Ich vermute, er weiss nicht, was für ein Objekttyp $config->getConfig('CUI') zurückliefert. Weiss einer wie ich das machen kann? Grüsse Joel |