Ich habe mir zwar nie Gedanken drum gemacht, aber gerade ist mir etwas sonderbares passiert. Ich habe eine Funktion geschrieben, die falsche Werte zurück gibt, wenn man zwei mal den gleichen Parameter nimmt.
Beispiel:
Delphi-Quellcode:
function StrToBase64(Str: string; out Base64Str: string): Byte;
//
Wenn ich das so abrufe:
Delphi-Quellcode:
x := StrToBase64(Result, Result);
//
bekomme ich ein falsches Ergebnis. Eigentlich nichts. Einen leeren String. Intern, also in der Funktion kann ich nichts machen. Die ruft eine Klasse aus einer anderen
Unit auf.
Das Problem bekomme ich so leicht gelöst:
Delphi-Quellcode:
x := StrToBase64(Result, s);
Result := s;
Trotzdem, wer weiß ob ich in zwei Jahren die Funktion nutzen werden, und ich habe es vergessen.
Gibt es eine Möglichkeit etwas einzubauen, wo Delphi rebelliert, wenn man zweimal den gleichen Parameter nimmt?