Einzelnen Beitrag anzeigen

imix

Registriert seit: 30. Nov 2012
4 Beiträge
 
#9

AW: HID Komponente RFID Lesegerät

  Alt 5. Dez 2012, 10:55
okey, ich hab mir eins ausgesucht =)

ich glaube ich komme von einem problem ins nächste. nun das aktuelle:
ich habe für das lesegerät nicht nur eine ReaderDLL.dll bekommen, sondern auch ein paar header dateien (in C). aus diesen header dateien möchte ich jetzt herausbekommen, welche funktionen in der dll stehen und mit welchen parametern ich sie aufrufen muss.

in den header dateien steht unter anderem:

typdefinition zu tRRUI4CommandFunctionMode:
Code:
typedef enum
{
   RRUI4CFM_NORMAL = 0,
   RRUI4CFM_DIRECT,
   RRUI4CFM_LAST
} tRRUI4CommandFunctionMode;
typdefinition zu tComHandle:
Code:
typedef void *tComHandle;
funktions-header:
Code:
typedef void (tDllResultHandlerGetMode)(tRRUI4CommandFunctionMode FunctionMode, tComHandle Handle, void *pTag);
ich möchte nun auf diese funktion zugreifen. dazu hab ich in meinem delphi programm mal folgendes geschrieben:
Delphi-Quellcode:
type
TZiffer = 0..9;
  ...

var
   zeiger1,zeiger2: Pointer;

implementation
procedure tDllResultHandlerGetMode(FunctionMode:TZiffer; Handle,pTag: Pointer); stdcall; external 'ReaderDll.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin
tDllResultHandlerGetMode(0,zeiger1,zeiger2);
end;
ich bekomme als fehlermeldung beim ausführen: "Der Prozedureinsprungpunkt "tDllResultHandlerGetMode" wurde in der DLL "ReaderDll.dll" nicht gefunden."

mögliche fehler:
-mein datentyp TZiffer ist im speicher möglicherweise anders angelegt als es das enum von C macht
-in der headerdatei ist es eine funktion mit rückgabewert void, ich wusste nicht wie ich das in delphi mache also hab ich einfach ne prozedur genommen...
-diese funktion existiert wirklich nicht in der DLL.... aber warum steht sie dann im header?

Geändert von imix ( 5. Dez 2012 um 17:01 Uhr)
  Mit Zitat antworten Zitat