![]() |
Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?
Hallo und einen schönen Abend!
Ich möchte eine eigene Funktion, die einen Integerwert erhält und einen String zurückgibt, nicht nur in Delphi-Programmen verfügbar machen, sondern über eine DLL und/oder ActiveX auch anderen Programmiersprachen zur Verfügung stellen. Was muss ich dabei beachten? Welche Aufrufkonventionen sind zu implementieren? |
AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?
Ich würde ActiveX empfehlen, denn diese Interfaces können von allen modernen Programmiersprachen und auch vielen Anwendungen (Microsoft Office) sowie Scriptsprachen problemlos eingebunden werden ohne dass man irgendwelche Headerdateien übersetzen muss.
Hier ist eine kleine Demoanwendung mit einer ActiveX-Schnittstelle die von einem VBScript aufgerufen wird. (mal so zum reinschnupper in die Technik) ![]() Du brauchst allerdings statt einer Anwendung eine Library (DLL) aber ich find grad nix Passendes. |
AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?
Vielen Dank! Wenn die DLL-Funktion einen String als Result zurückgibt, sollte man dafür als Typ im Sinne einer größtmöglichen Kompatibilität eher PChar oder PWideChar oder WideString verwenden?
|
AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?
Muss ich in der DLL ShareMem auch dann einbinden, wenn der von der DLL-Funktion zurückgegebene Typ PCHAR ist? Derzeit funktioniert es in diesem Fall auch ohne ShareMem.
|
AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?
Zitat:
PChar, ... sind einfach nur Zeiger WideString ist ein von Windows gemanagter Typ |
AW: Funktion zus. in DLL/ActiveX auslagern, auch für andere Sprachen?
ShareMem und Co. bringt auch nur dann etwas, wenn beide Seiten die Sharing-Methode kennen und vorallem auch nutzen.
Und überleg mal, wie groß die Wahrscheinlichkeit ist, daß irgendeine andere Programmiersprache ausgeechnet den Delphi-Speichermanager kennt? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz