AW: DLL ShareMem D2007 -> XE7?
Zitat:
z.b. alles in einen Buffer "knallen" und den Pointer auf den Buffer übergeben... Mavarik |
AW: DLL ShareMem D2007 -> XE7?
Oder ein IInterface um das Objekt drumrum (also auch ein Wrapper :angel:), da dort das Interface feste Indize besitzt (wenn man überall die selbe Definition verwendet) und es dann in jedem Modul eine passende Übersetzung für Interface<->Klasse gibt.
Und natürich nur statische Typen verwenden, also kein PChar, Char usw., sondern PAnsiChar, PWideChar usw. Für Integer/NativeInt/Pointer würde es zwar auch gelten, aber da man eh keine 32-Bit-DLL in eine 64-Bit-EXE rein bekommt, und andersrum ebenfalls nicht, stört es hier nicht. |
AW: DLL ShareMem D2007 -> XE7?
Zitat:
Natürlich nutze ich ein Interface.
Delphi-Quellcode:
Und übergebe das Interface an die DLL
IFooDll = Interface
['{23763801-630D-4389-B214-398804635CA1}'] Procedure Test(Var S : WideString); Function ShowPanel(ParentWnd:hwnd;R:TRect):hWnd;stdcall; End;
Delphi-Quellcode:
Welchen Vorteil - den ich noch nicht gesehen habe - habe ich dadurch auch noch?
Procedure SetInterface(Var DLL:IFooDll);
begin DLL := TFoo.Create; end; Exports SetInterface; Mavarik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz