Moin !
Ich habe mal eine Demoanwendung erstellt mit einer
DLL. Die Aufrufe der
DLL Methoden bekommen einen Zeiger mitgeliefert so wie es SirThornberry vorgeschlagen hat.
Das Konstrukt funktioniert sogar erstaunlich gut. Auch wenn ich die
DLL mehrfach verwende klappt alles.
Ich wollte nur nochmal nachfragen ob an meinem Aufbau noch irgendwas nicht stimmt oder ob das ggf. noch anders löst. Möchte nur vermeiden da in neue Fallen zu tappen ...
Vor allem der Aufruf mit Formular aus der
DLL raus ist für mich wichtig. Da würde mich mal interessieren ob das ein brauchbarer Weg ist. Funktionieren tut es jedenfalls prächtig
Und dann hät ich noch ne Randfrage zu meinem Type Konstrukt ...
Delphi-Quellcode:
type
TDeviceInfos = packed record
Test : String;
Zahl : Double;
Datum : TDateTime;
Memo : TMemo;
end;
Das muss ja sowohl in der EXE als auch in der
DLL definiert sein. Nun brauchen wir aber nicht in jeder
DLL den Zugriff z.B. auf das dort angegebene Memo. Wenn ich nun in der
DLL das angebe:
Delphi-Quellcode:
type
TDeviceInfos = packed record
Test : String;
Zahl : Double;
Datum : TDateTime;
end;
und in der EXE alles beim alten belasse dann funktionieren die Zugriffe trotzdem. Man darf allerdings nur Elemente von unten her wegnehmen. Ich denke weil sonst die Längen und damit die Zugriffe auf die einzelnen Elemente über den Pointer nimmer passen.
Also wie gesagt, das geht, aber nu stell ich mir doch die Frage ... Ist sowas erlaubt? Oder anders gefragt ... Kann das irgendwann man zu ungeahnten Problemen führen?