@Rollo62
Danke für Deine Antwort.
Die Zeile propvalue := nil ist auskommentiert, so dass dies nie aufgerufen wird. Ich hatte dies aufgrund eines Versuchs noch drin gelassen.
Die function getobjectprop ist eine Delphi eigene Funktion aus dem
RTTI System. Sie gibt eine als published definierte Eigenschaft eines Objekts zurück, das wiederum ein Objekt ist. Dies ist ja hier der Fall, da Tdokutype = class(Tdictionary<...>) ist.
Die Eigenschaft Dokumente in Tbasicnode hat einen Getter und Setter Fdokumente. Fdokumente ist wiederum vom Typ Tdokutype;
Im constructor von Tbasicnode wird mittels fdokumente := Tdokutype.create das Objekt erzeugt, und im destructor von Tbasicnode das Objekt mittels fdokumente.free wieder freigegeben.
Dies passiert alles im Hauptprogramm.
Ansonsten wird das Objekt an keiner anderen Stelle freigegeben.
Und genau im Destruktor bei der Freigabe von Fdokumente kracht es,wenn ich die
Unit mit der Methode savedoctoaml in ein dynamisch ladbares
Package auslagere. Binde ich diese
Unit jedoch direkt in das Hauptprogramm ein, so funktioniert alles bestens.
Das ganze soll im übrigen ein Writer für AutomationML werden.
Gruß Kompi