![]() |
DLLs mit Delphi für andere Sprachen? was muss man beachten?
Hallo, ich möchte gerne meine Funktionen und Proceduren auch anderen Programmierern zur Verfügung stellen.
Dachte dabei an eine DLL. gibt es da jetzt irgendwas besonderes was ich beachten muss, damit man diese z.B. auch mit c++ aufrufen kann!? Oder kann ich sie ganz normal wie ich sie sonst auch für Delphi anwendungen programmiere, programmieren!? danke! |
Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
Das wichtigste ist, dass du nicht die Delphi- und BCC-spezifische Aufrufkonvention Register verwendest, sondern stdcall oder cdecl. Des Weiteren darfst du natürlich keine Delphi-spezifischen Konstrukte wie Ansistrings einsetzen. Auch auf Klassen solltest du verzichten. Stattdessen kannst du Interfaces verwenden.
|
Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
Keine delphispezifische Typen verwenden (z.B. String)
|
Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
Zitat:
|
Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
Ok danke erstmal.
Wusste garnicht, dass strings delphispezifisch sind.... Zitat:
danke |
Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
Einfach bei der Deklaration der Prozeduren/Funktionen angeben
|
Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
also statt wie bisher
Delphi-Quellcode:
dann einfach
export
Delphi-Quellcode:
?
stdcall
Wenn ja wie schaut dann das ende der dll aus. bisher musste ich ja immmer alle Funktionen auf die zugegriffen werden sollte bei
Delphi-Quellcode:
angeben. bleibt dieses segment erhalten oder ändert sich da dann auch was!?
exports .......;
|
Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
Dies ändert sich nicht.
Delphi-Quellcode:
procedure IrgendWas; cdecl;
![]() |
Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
Strings und andere Delphi-Interna kann man schon verwenden, nur nicht als Parameter von Funktionen.
Du musst also allein bei den Funktionsköpfen aufpassen, dass da allgemeingültige Parametertypen verwendet werden. Und du kannst natürlich keine VCL-Anwendung einfach in eine DLL packen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 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