Nach meinem Verständnis übergeben mit
out deklarierten Variablen keine Werte, bzw. werden diese vorher gelöscht. Wieso funktioniert das hier?
Delphi-Quellcode:
type
Txy = (x, y);
procedure Test(out xy: Txy);
begin
if xy = x then ShowMessage('x') else ShowMessage('y');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
xy: Txy;
begin
xy := y; // mal x, mal y
Test(xy);
end;
//Edit:
Weil es keine Variable ist und nur die Adresse übergeben wird?