Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   DLLs mit Delphi für andere Sprachen? was muss man beachten? (https://www.delphipraxis.net/122122-dlls-mit-delphi-fuer-andere-sprachen-muss-man-beachten.html)

SimStar001 9. Okt 2008 21:09


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!

Apollonius 9. Okt 2008 21:11

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.

mkinzler 9. Okt 2008 21:12

Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
 
Keine delphispezifische Typen verwenden (z.B. String)

Die Muhkuh 9. Okt 2008 21:15

Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
 
Zitat:

Zitat von mkinzler
Keine delphispezifische Typen verwenden (z.B. String)

Stattdessen eigenen sich PChars.

SimStar001 9. Okt 2008 21:34

Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
 
Ok danke erstmal.

Wusste garnicht, dass strings delphispezifisch sind....

Zitat:

sondern stdcall oder cdecl
Diese aufrufarten sagen mir leider nix, wie funktionieren die, bzw ann mir jemand nen link geben für eine gute erklärung/tutorial!?

danke

mkinzler 9. Okt 2008 21:36

Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
 
Einfach bei der Deklaration der Prozeduren/Funktionen angeben

SimStar001 9. Okt 2008 21:38

Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
 
also statt wie bisher
Delphi-Quellcode:
export
dann einfach
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:
exports .......;
angeben. bleibt dieses segment erhalten oder ändert sich da dann auch was!?

mkinzler 9. Okt 2008 21:42

Re: DLLs mit Delphi für andere Sprachen? was muss man beacht
 
Dies ändert sich nicht.

Delphi-Quellcode:
procedure IrgendWas; cdecl;
http://www.delphi-treff.de/tutorials/objectpascal/dlls/

sirius 10. Okt 2008 08:06

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 13:55 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