In XE4 ist ein String ein UniCodeString.
Ein Char ein UniCodeChar - damit 2 Byte lang.
Das dürfte hier zu einem Problem führen (md5.pas):
Delphi-Quellcode:
// Create digest of given Message
function MD5String(M: string): MD5Digest;
var
Context: MD5Context;
begin
MD5Init(Context);
MD5Update(Context, PChar(M), Length(M));
MD5Final(Context, Result);
end;
das sollte dann wieder funktionieren.
Delphi-Quellcode:
// Create digest of given Message
function MD5String(M: string): MD5Digest;
var
Context: MD5Context;
begin
MD5Init(Context);
MD5Update(Context, PChar(M), Length(M) * sizeOf(Char));
MD5Final(Context, Result);
end;
Grüße
Klaus