Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DLL einbinden (https://www.delphipraxis.net/20843-dll-einbinden.html)

sugaFRAG 24. Apr 2004 10:17


DLL einbinden
 
hi Jungs,

ich habe ein großes Problem.

Ich habe in Delphi eine DLL erstellt nach der Anleitung auf delphi-source !!!
Jetzt habe ich aber keine Integer funktion sondern :TIcon; !!!

soo ich habe auch nach ; das stdcall; geschrieben und nur den Funktionsnamen ganz unten unter exports geschrieben.

so jetzt habe ich in meinem Delphi Projekt eine neue Unit angelegt unt unter interface nochmal den Funktionsnamen mit diesem stdcall geschrieben.

Dann unter implementation habe ich dann nochmal das gleiche geschrieben nur noch external 'icon.dll' angehängt.

Jetzt kommen folgende Meldungen vom Kompiler wenn ich versuche zu compilieren:

[Fehler] Unit2.pas(4): Undefinierter Bezeichner: 'TIcon'
[Fataler Fehler] Project1.dpr(6): Verwendete Unit 'Unit2.pas' kann nicht compiliert werden

woran liegt das bzw. welche änderungen muss ich vornehmen ?

Bernhard Geyer 24. Apr 2004 10:24

Re: DLL einbinden
 
Zitat:

[Fehler] Unit2.pas(4): Undefinierter Bezeichner: 'TIcon'
Du mußt noch die Uses-Anweisung ergänzen, damit auch die Unit drin ist, in der TIcon definiert ist.

MrKnogge 24. Apr 2004 10:29

Re: DLL einbinden
 
Binde einfach die Unit "Graphics" mit ein, sollte sowas nochmal vorkommen, so markiere einfach TIcon bzw. den Typ den der Compiler nicht kennt und drück F1, oben links in der OH steht nun die Unit die du einbinden musst.

gruss

sugaFRAG 24. Apr 2004 10:33

Re: DLL einbinden
 
ja da gibts nochn problem:

das ist der code:

Delphi-Quellcode:
unit Unit2;

interface
function GetCDIcon(Drive: Char): TIcon; stdcall;

implementation
function GetCDIcon(Drive: Char): TIcon; stdcall;
external 'icon.dll';

end.
wenn ich unter dem interface teil uses Graphics; eingebe kommen folgende:

[Fehler] Unit2.pas(4): Undefinierter Bezeichner: 'TIcon'
[Fehler] Unit2.pas(6): Deklaration erwartet, aber 'USES' gefunden
[Fataler Fehler] Project1.dpr(6): Verwendete Unit 'Unit2.pas' kann nicht compiliert werden

es geht nicht und wenn ich unit1 nehme wodrin ich in der uses Klausel Graphics eingebunden habe kommt das gleiche.


Was mach ich falsch ?

MrKnogge 24. Apr 2004 10:49

Re: DLL einbinden
 
du musst die uses-klausel über die deklaration schreiben, falls du es so hast, so poste doch bitte die ganze Unit (Implementation der einzelnen funktionen kannste weglassen).

sugaFRAG 24. Apr 2004 13:40

Re: DLL einbinden
 
jo hattest recht ich hab da immer die uses klause mit der deklaration verwechselt.

hab sie jetzt da drübergeschrieben und nun funzt alles. thx nochmal. :-D


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