Wenn ich hash.pas in W.E.Hash.pas umbenenne, komme ich bereits weiter.
Wo man dann aber stecken bleibt ist in Mem_Util.Base64DecStr in Block
Delphi-Quellcode:
function Base64DecStr({$IFDEF CONST}const {$ENDIF} es: BString): BString;
var
{$IFNDEF RESULT}
result: BString;
{$ENDIF}
...
// Funktioniert mit XE2 problemlos. Ab XE8 nicht mehr.
Wenn man das auskommentiert (ebenfalls in anderen Funktionen wo es diese Re-Deklaration gibt) kommt man weiter und es kompiliert.
Result: BString ist hier meiner laienhaftung Meinung doch gar nicht notwendig, da der Funktionsrückgabewert doch eh schon BString ist.
Wenn man
was auskommentiert? Und welche
Re-Deklaration? BString ist ein String[255], also
kein String (bei die wohl bei dir ein
Unicode-String ist). Außerdem ist er statisch und
nicht dynamisch (Strings in XE8 sind dynamisch).
Wenn du dynamische Strings brauchst, sieh mal in
Unit base2n.pas für ansistrings.