Hallo,
meine erstes OO-Projekt läuft erstaunlich gut. Aber eben nicht perfekt.... Ich habe ein Objekt $kunde, das ein paar Objekt vom Typ 'Adresse' enthält. Um das ganze in XML auszugeben habe ich mir ein XMLHelper Objekt gebaut, das ein Array von Kundenobjekten übergeben bekommt und diese in ein XML-File überführen soll. Soweit klar, aber an der Stelle, wo ich aus einem Kunde-Objekt das erste AdressObjekt bearbeiten will passierts,
107 # eine Rechnungsadresse anhängen 108 my $std_rechnungadr = $kunde->getStdRechnungsadr(); 109 bless $std_rechnungadr,"Adresse"; 110 print Dumper($std_rechnungadr). "\n"; 111 my $rechnungadressetmp = CreateRechnunsadresse( 112 $doc, 113 $std_rechnungadr->getfirma1(),
Das blessen klappt, er geht in Adresse.pm und will getfirma1() ausführen.
Not a HASH reference at /home/pummel/data/scripts/bidi/Shop/Adresse.pm line 110.
Dort sieht es so aus:
108 sub getfirma1{ 109 my $self= shift; 110 return $self->{'firma1'}; 111 }
Die Ausgabe meines Dumpers ind Zeile 110 oben bringt:
$VAR1 = bless( do{(my $o = bless( { 'firma1' => 'Superdesigne', 'vorname' => 'Maxe', 'plz_pf' => '', 'briefanrede' => '', 'pf' => '', 'anrede' => 'Herr', 'addressid' => '1523279', 'firma2' => 'GmbH', 'strasse_nr' => '55', 'email' => 'jpuruckherr@cyberport.de', 'titel' => '', 'fax' => '12345689890', 'plz' => '78963', 'name' => 'Mustermanne', 'mobil' => '1224560', 'tel1' => '123455678900', 'land' => 'DE', 'bundesland' => '', 'MY_DBHANDLE' => bless( {}, 'DBI::db' ), 'ort' => 'Testorte', 'strasse' => 'Testwege' }, 'Adresse' ))}, 'Adresse' );
Das gleiche bringt er aus, wenn ich ihn in getfirma1() nochmal dumopen lassen. Gibt es ein Problem mit dem doppelten Blessing? Dies entsteht einmal beim Erzeugen des Adressobjektes und dann eben im XML-Helper. Wo ist der Wurm?
Mit freundlichen Grüßen
Jens Puruckherr