Code: Alles auswählen
procedure test (const input: string; out result: string);
begin
result:=input+input;
end;
Code: Alles auswählen
s:='beispiel';
test(s,s);
Wird die Prozedur dagegen als "var result" statt "out result" deklariert, funktioniert das Konstrukt wie erwartet.
Ich würde gerne verstehen, warum es so ist, wie es ist. Oder ist das ein Compilerbug? Zumindest entspricht das beobachtete Verhalten nicht meiner Erwartung.