Zitat von
Elvis:
Quick&Dirty will wohl seinem Namen alle Ehre machen, hmm?
.
Sieht ganz so aus...
Zitat von
Elvis:
@Alf, Probleme kommen ganz einfach.
Du hast eine exportierte Funktion, die eine Referenz vom Typ TStrings nimmt und übergibst ihr natürlich eine Ableitung.
Hier kann es ganz schnell fies werden, da die übergebene Referenz ihre Methoden auf einer
VMT abbildet, die nicht mit denen der
DLL-Version dieser Klasse übereinstimmen.
Ja! Ich stimme voll und ganz mit dir überein (ich war es nicht, der die Originalfrage gestellt hat, ich habe versucht genau diese Tatsache zu begründen!)
Zitat von
Elvis:
Ein "passt scho'" akzeptiere ich hier nicht.
Auch hier volle Zustimmung von mir!
Selbst wenn jemand auf die Idee käme ein "passt scho'" zu akzeptieren wird er damit eben irgendwann ganzgehörig auf die Nase fallen und dann nicht mehr wissen warum (solche selbstgeschaffenen "Fehler" sind nicht so einfach zu finden)
Zitat von
Elvis:
Ich predige hier schon lange wiederholt eine einfache und sehr elegante Möglichkeit um Objekte in DLLs benutzen zu können, ohne sich sinnlos an eine
RTL- oder Delphiversion zu fesseln: Interfaces.
Man kann sich eine einfache Verpackung für einebestehende TSTrings-Referenz bauen, die man problemlos als Interface an eine Delphi/FPC- -
DLL schicken kann (auch C++, wenn WideString anstatt AnsiString benutzt wird).
... Code gelöscht (siehe Originalpost) ...
Das ist wirklich eine sehr interessante Möglichkeit, vor allem im Hinblick auf die Verwendung von Delphi-Objekten in anderen Sprachen. Muss ich mir mal merken. Danke für den Tipp!
Ciao,
Ralf