Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DLL verwenden (https://www.delphipraxis.net/20293-dll-verwenden.html)

Andreas L. 15. Apr 2004 18:17


DLL verwenden
 
Hi Leute,
ich habe mir jetzt mal Spaß halber eine DLL gebaut mit einer Funktion, die heißt putecho();. In der Klammer wird ein text eingegeben welcher in einer MessageBox ausgegeben wird. Wie kann ich jetzt diese Funktion welche in der DLL "test.dll" liegt verwenden. Wie binde ich die DLL in einen Programm ein, wie benutze ich dann die Funktion?

thx

neolithos 15. Apr 2004 18:20

Re: DLL verwenden
 
Zuerst musst du diese funktion exportieren


Delphi-Quellcode:
procedure PutEcho(const sText : ShortString); export;
in der dpr-Datei

Delphi-Quellcode:
exports
  PutEcho;
In der Anwendung:

Delphi-Quellcode:
procedure PutEcho(const sText : ShortString);
  external 'test.dll';

SirThornberry 15. Apr 2004 18:21

Re: DLL verwenden
 
wie hast du die DLL eingebunden? Und wie sieht die Deklaration von "putecho();. " aus? Arbeitest du da mit Strings oder PChar (Strings sind nicht empfehlenswert da du in diesem fall die sharedmem.dll etc. nutzen musst)

Andreas L. 15. Apr 2004 18:23

Re: DLL verwenden
 
Delphi-Quellcode:
(const sText : ShortString)
Wie muss das heißen wenn ich Integer oder Pchar verwende.

Zitat:

sharedmem.dll
Wie binde ich das in der DLL ein?

neolithos 15. Apr 2004 18:26

Re: DLL verwenden
 
Mit der ShareMem.dll würde ich vorsichtig sein. Jedenfalls habe ich schlechte Erfahrungen gemacht.

Zu den Zeichenkette

Nur für Delphi verwenden
- String - nur bei Einbindung der ShareMem-Dll
- ShortString - wenn man sich die ShareMem-Dll sparen möchte
da in anderen Sprachen jene nur mit Umständen ansprechbar sind.

Soll die Dll auch von anderen Programmen (C, VB) genutzt werden, sollte man Null-Terminierte-Zeichenketten verwenden. -> PChar

mirage228 15. Apr 2004 18:28

Re: DLL verwenden
 
Zitat:

Zitat von neolithos
Soll die Dll auch von anderen Programmen (C, VB) genutzt werden, sollte man Null-Terminierte-Zeichenketten verwenden. -> PChar

Oder man verwendet den Typen "WideString". Der hat keine Referenzzählung (sprich: braucht keinen Extra Memory Manager) und ist sogar in C++ vorhanden, nämlich als lpwstr.

mfG
mirage228

neolithos 15. Apr 2004 18:31

Re: DLL verwenden
 
Frage:

lpwstr = PWideChar
lpwstr <> WideString

:gruebel:

mirage228 15. Apr 2004 18:35

Re: DLL verwenden
 
Zitat:

Zitat von neolithos
Frage:

lpwstr = PWideChar
lpwstr <> WideString

:gruebel:

Hm... hier ( http://www.delphipraxis.net/internal...ect.php?t=4203 ) hat jbg geschrieben, das WideString in C++ durch LPWSTR unterstützt wird. :gruebel:

mfG
mirage228

Andreas L. 15. Apr 2004 19:14

Re: DLL verwenden
 
Danke für eure antworten. Werde mal ein bisschen basteln.

Luckie 15. Apr 2004 22:11

Re: DLL verwenden
 
Kuck mal hier: http://www.luckie-online.de/Ablage/Exporte/


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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