Thema: DLL einbinden

Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#1

DLL einbinden

  Alt 9. Dez 2011, 15:30
Hallo,

ich hab hier ein Problem, bei dem ich nicht weiterkomme.

Ich hab hier eine DLL, die in Delphi genutzt werden soll. In VB und C# läufts.
Doku habe ich zu der DLL nicht.
Unter Delphi liefern 2 Funktionen falsche Werte (verglichen mit VB, C#). Das hat mich dazu gebracht, die Funktionen und Parameter genauer zu betrachten.
Dabei bin ich schließlich bei implib gelandet. Ich hab aber keine Ahnung, was mir das sagen soll (und implib schmeißt Warnungen wg doppelter Symbole):
Code:
LIBRARY    mylib.dll

EXPORTS
    GetID                   @1   ; GetID
    Go                      @2   ; Go
    Init                    @3   ; Init
    GetID                        = _GetID@4                         
    Go                           = _Go@4                         
    Init                         = _Init@0
Dynamisch eingebunden bekomme ich lediglich falsche Werte zurück, statisch eingebunden gibts zusätzlich eine AV, wenn ich die Funktion verlasse, die die DLL ruft.
Was spricht gegen "doppelte Symbole" ? Ich hätte ohne Vorkenntnis vermutet, dass das die Rückgabewerte sind. Das wäre aber nicht wirklich ein Warngrund, oder?
Entsprechen die @ Werte der "Index" Angabe bei statischem Link in Delphi?

Code:
vb
Declare Function Init Lib "mylib.dll" () As Long
Declare Function Go Lib "mylib.dll" (ByVal x As Long) As Long
Code:
delphi
function Init() : Integer; external 'mylib' ;
function Go(byVal : Integer) : Integer; external 'mylib' ;
Gruß, Jo
  Mit Zitat antworten Zitat