So, jetzt habt ihr mich so weit ("auf die Palme") gebracht, das ich ne Demo geschrieben habe. Und ... wer hätte das gedacht ...
es geht (via Pointer).
Und wer es nicht glaubt, der sauge sich bitte den Anhang.
Natürlich funktioniert diese Vorgehensweise nur
ganz sauber, wenn man für die
DLL und das Programm den gleichen Compiler und die gleichen Units verwendet.
Und noch ein Wort zu Objekten und Pointern. Eine Objektreferenz ist ungleich der Adresse im Speicher. Das was Integer(Objekt) liefert ist nur eine ID, die innerhalb der
VCL-Umgebung eines bestimmten Programms gültig ist. Somit kann ich nicht diese ID an eine
DLL übergeben, da diese ja in einer anderen Umgebung läuft. Dagegen ist die Adresse des Objektes im Speicher eindeutig.