Der Errorcode ist ja laut Doku der Rückgabewert der Funktion.
Zitat:
0 Kein Fehler
1 Checksumme falsch
2 Startzeichen Telegramm unbekannt(bekannt: ACK,SOH und STX, NAK,DC4)
3 NAK empfangen
4 Unbekannter Fehler
5 Keine Antwort auf das Polling
6 Connect- oder Leserinitialisierungsfehler
7 Lesefehler: Der Leser konnte die Karte nicht richtig lesen.
5 Einträge in der Registry
[edit] Also nochmal im Ganzen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
theAuswIDT: string;
theLength: integer;
theTimeOutMilliSeconds: integer;
begin
SetLength(theAuswIDT,17);
theLength := 16;
theTimeOutMilliSeconds:= 300;
case _ReadReaderStartStop(PChar(theAuswIDT),theLength,theTimeOutMilliSeconds) of
0: ShowMessage('Kein Fehler');
1: ShowMessage('Checksumme falsch');
2: ShowMessage('Startzeichen Telegramm unbekannt');
3: ShowMessage('NAK empfangen');
4: ShowMessage('Unbekannter Fehler');
5: ShowMessage('Keine Antwort auf das Polling oder Einträge in der Registry');
6: ShowMessage('Connect- oder Leserinitialisierungsfehler');
7: ShowMessage('Lesefehler: Der Leser konnte die Karte nicht richtig lesen.');
end;
SetLength(theAuswIDT,StrLen(PChar(theAuswIDT)));
Edit2.Text := theAuswIDT;
Edit3.Text := IntToStr(theLength);
Edit4.Text := IntToStr(theTimeOutMilliSeconds);
end;
Wieso die 5 zweimal vergeben wurde, musst Du den Programmierer der
DLL fragen.[/edit]