Offiziell steh halt einiges nirgends.
z.B. sieht
function test: String;
intern eigentlich so aus
procedure test(var Result: String);
Bei einem Integer sieht es aber anders aus.
Ihr könnt ja gerne mal raten, welche Werte von den Messageboxen angezeigt werden ... mal sehn wer alles richtig tippt.
Delphi-Quellcode:
function Test:
String;
begin
Result := Result + '
abc ';
raise Exception.Create('
buhh');
end;
function Test2:
String;
begin
Result := Result + '
abc ';
end;
function Test3: Integer;
begin
Result := 1;
raise Exception.Create('
buhh');
end;
function Test4: Integer;
begin
Result := Result + 1;
end;
procedure TForm1.FormCreate(Sender: TObject);
var S:
String;
i: Integer;
begin
try
S := Test;
except
// heut ma nix
end;
ShowMessage(S);
S := '
tja ';
S := Test2;
S := Test2;
ShowMessage(S);
try
i := Test3;
except
// heut ma nix
end;
ShowMessage(IntToStr(i));
i := 10;
i := Test4;
i := Test4;
ShowMessage(IntToStr(i));
end;
PS: Das ist auch ein gutes Beispiel, warum meistens Variablenwerte immer initialisiert werden sollten.