Thread Referenz zu Klassen speichern (8 answers)
Opened by Tr0Nix at 2007-08-27 18:03

Tr0Nix
 2007-08-27 18:03
#98716 #98716
User since
2006-11-21
44 Artikel
BenutzerIn
[default_avatar]
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

View full thread Referenz zu Klassen speichern