Hallo...
Ich beiss mir grad die Zähne an ner VB-Übersetzung aus.
Code:
Private Declare Function MCardGetAttrib Lib "MCSCM.DLL" (ByVal hMCardContext As Long, ByVal dwAttrId As Long, ByVal pbAttr As String, ByRef pcbAttrLen As Long) As Long
[..]
Dim S As String
Dim lSize As Long
Dim lReturn As Long
S = String(100, 0)
lSize = 4
lReturn = MCardGetAttrib(hMCardContext, dwAttrId, S, lSize)
Delphi-Quellcode:
function MCardGetAttrib(hMCardContext: THandle; dwAttrId: Integer; pbAttr: PAnsiChar; var pcbAttrLen: Integer): Integer; stdcall; external 'MCSCM.DLL';
[..]
var Return: Integer;
s: AnsiString;
size: Integer;
[..]
s := DupeString(Chr(0), 100);
size:=4;
Return:=MCardGetAttrib(hMCardContext, MCARD_ATTR_TYPE, PAnsiChar(s), size);
Die Fehlermeldung für MCardGetAttrib aus der
DLL lautet "Invalid Parameter".
Die Verwendung von PAnsiChar hat an anderer Stelle schon mal geklappt. Aber hier vermute ich, dass es Probleme mit den Nullchars gibt. Wie geht man hier vor?
Hoffe jemand hat ne zündende Idee.
Gruß,
Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?