Wenn Code vor Delphi2009 entstanden ist, sind die Hauptverdächtigen für mich immer zu erst String und
Unicode. Da in dem Code nicht explizit AnsiString verwendet wurde, werden die Strings unter XE2 als WideStrings interpretiert.Und das kann an Stellen wie hier:
Delphi-Quellcode:
procedure ProtectString(var Value: String);
begin
FillChar(Pointer(Value)^, Length(Value), 0);
end;
zu Problemen führen. (Ob das jetzt hier der Fall ist, weiß ich jetzt nicht.)