Vielen Dank für die schnelle Antwort.
Aber leider gleiches Problem, vieleicht ist es doch nur die Variablen Declaration/Übergabe.
Denn gerade der Übergabe-Parameter (UID) wird beim Aufruf überschrieben. (Gesehen im Debugger)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
OkErr : ULONG;
dwActiveProtocol : PDWord;
ATR, UID, ReaderName : String ;
UIDLen : ULong ;
ATRLen : Cardinal ;
hCard : LongInt ;
begin
ReaderName := CB_SelReader.Text ;
OkErr := SCardConnectA(hContext, PChar(ReaderName), SCARD_SHARE_SHARED, SCARD_PROTOCOL_T1, hCard, @dwActiveProtocol) ;
if OkErr = 0 then begin
ShowMessage('Connect to '+ CB_SelReader.Text ) ;
fCardConnected := True ;
UIDLen := 12 ;
SetLength(UID,12 + 2) ;
OkErr := SCardCLGetUID(hCard,Pointer(UID),12,UIDLen);
if OkErr = 0 then begin
// nächster Schritt
end;
OkErr := SCardDisconnect(hCard, SCARD_RESET_CARD) ;
hCard := 0 ;
fCardConnected := False ;
If OkErr = 0 Then ShowMessage('Card has bee disconnected successfully') else ShowMessage('Error is Disconnect!') ;
end;
end;
Besten Dank