Thema: Delphi Verzweifel an DLL

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.118 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Verzweifel an DLL

  Alt 19. Jun 2004, 22:37
Moin HaCkAttaCk2001,

also die genannte Fehlermeldung sagt i.d.R. genau das aus, was der Fehler ist, sprich:
Unter dem Namen, unter dem Du die Funktion importieren willst, kann sie in der DLL nicht gefunden werden.

Wichtig ist immer, dass die Gross-/Kleinschreibung exakt eingehalten werden muss.
Um den C-typischen Booltyp zu verwenden, müsstest Du übrigens Longbool nehmen, nicht boolean.

Leider bin ich nicht C(++) fest genug, um entscheiden zu können, ob die Funktion wirklich unter dem Namen exportiert wird, den Du für den Import angegeben hast. Eventuell wird die Funktion auch nur über ihren Indexwert in der Exporttabelle exportiert, so dass Du sie überhaupt nicht mit Namen importieren kannst.

Ein Import könnte z.b. so aussehen:

Delphi-Quellcode:
// Hier wird der Name selbst mit angegeben
// wie die Delphi Funktion heisst spielt dann keine Rolle
function DTK(const bDisable : Longbool;const bBeep : Longbool) : Longbool; stdcall; external 'TaskKeyHook.dllname 'DisableTaskKeys';

// oder über den Index (in diesem Beispiel frei erfundener Wert)
function DTK(const bDisable : Longbool;const bBeep : Longbool) : Longbool; stdcall; external 'TaskKeyHook.dllindex 42;

// Hier muss der Name unter dem die Funktion exportiert wird
// exakt so heissen, wie der Delphi Funktionsname.
function DisableTaskKeys(const bDisable : Longbool;const bBeep : Longbool) : Longbool; stdcall; external 'TaskKeyHook.dll';
Schau Dir doch die DLL mal mit dem Bei Google suchenDependency Walker an.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat