Einzelnen Beitrag anzeigen

ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#13

Re: Probleme beim einbinden einer DLL

  Alt 17. Mai 2010, 23:18
Zitat von Christian Seehase:
Moin Markus,

bist Du sicher, dass die Aufrufkonvention stdcall richtig ist?
Es könnte, z.B., auch cdecl sein.
Der Header ist als extern "C" gekennzeichnet und die aufrufe laufen über FAR PASCAL.

Ich hab mal mit cdecl aufgerufen. Bringt aber auch keine Änderung.

Was mir aber noch aufgefallen ist in dem .NET Wrapper:
Delphi-Quellcode:
[DllImport('api32.dll', EntryPoint='__apiInit', CharSet=CharSet.Ansi)]
strict private class extern function __api32Init([Out] var A_0: Cardinal): boolean; static;
Hier ist der Parameter als OUT gekennzeichnet und vom Typ Cardinal.

Edit:
Um das vollständig zu halten hier noch der eigentliche Aufruf der importierten Funktion:
Delphi-Quellcode:
function API.apiInit: boolean;
begin
    Result := API.__api32Init(@(API.a))
end;
strict private class var a: Cardinal;
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat