Hi,
Sorry, wenn der Tthread auseinanderfliegt, ich musste erst mal meinen
Zugang umstellen, da wir hir auf Arbeit ein bescheuertes
Mailsyetme haben...
Steffen Schwigon <schwigon(a)webit.de> schrieb:
>> 108 my $std_rechnungadr = $kunde->getStdRechnungsadr();
>> 109 bless $std_rechnungadr,"Adresse";
>
>Die Funktion getStdRechnungsadr() sollte bereits ein Objekt der
>Klasse
>"Adresse" liefern, also intern z.B. ein
>
> $a = Adresse->new();
> # ...
> return $a;
>
>ausführen.
Das macht sie ja auch, allerdings wird kein neues erzeugt, sondern
ein bereits vorhandenes zurückgegeben.
Der Kunde ist nämlich schon komplett...
Im XMLHelper sind die Klassen Kunde und Adresse zwar mit 'use'
eingebunden, aber weiss er wirklich, was er in dem Moment erhält?
Etwas weiter oben mache ich folgendes:
foreach my $kunde (@kundenliste){
bless $kunde,"Kunde";
$logger->debug( "bei Kunde: ". $kunde->getKundennummer() );
....
Was ohne das bless nicht funktioniert.
>In der eigentlichen Applikation solltest Du kein bless brauchen, das
>sollte auf niederer Ebene, konkret im Konstruktor verborgen sein.
Der XMLHelper gehört nicht zur Applikation, sondern ist eine Klasse
wie Kunde oder Adresse.
Ich wollte nur nicht den ganzen XML-Krims mit zum Kunden packen, wo
er auch nicht hingehört.
Meine App. erstellt ein Array von KundenObjekten @kundenliste, die
dann dem XMLHelper zum
tranformieren gegeben wird. Jedes Kundenobjekt enthält wiederum ein
paar Adressobjekte.
Aber ich glaube, ich habe den Fehler gerade gefunden:
In $kunde wird eine Refernz auf das AdressObjekt gespeichert, nicht
das Objekt selber.....
>
>
>Das OO-Tutorial via "man perltoot" ist IMHO ganz brauchbar für diese
>Sachen.
Habe ich mir schon reingezogen , half mir nicht wirklich weiter ...
>
Mit freundlichen Grüßen
Jens Puruckherr