Dann schlägt die Prüfung aber nie an, weil der String an der Stelle immer leer ist.
Der Eingangs-String (Str) ist immer leer, jener, welcher auf '' geprüft wurde?
Dachte Base64Str kann/ist/darf leer?
Beispiel:
Delphi-Quellcode:
function StrToBase64(Str: string; out Base64Str: string): Byte;
begin
ShowMessage(Str);
end;
procedure Test;
var
a: string;
begin
a := 'Test';
StrToBase64(a, a);
end;
Es wird ein Leerstring angezeigt. Das liegt daran, dass der generierte Code bei einem out-String so aussieht, siehe UStrClr: