Es ist nie eine gute Idee in Methoden auf globale Variablen zuzugreifen.
Delphi-Quellcode:
function TForm1.GetReAdr: TAdresse;
begin
Result.Vorname := 'a';
Result.Name := 'b';
end;
Sein Code war schon fast richtig, denn er "wollte" die Instanz zurückgeben, welche er in TForm1 deklatiert/erstellt hat.
Aber er hat nicht auf seinen Compiler gehört, welcher ihm bestimmt was vonwegen "Result ist nicht initialisiert" um die Ohren wirft!
[edit]
War das
Result := Adresse;
vorhin auch schon in Post #1 ?
Nja, dein Code war zumindestens falsch, denn Result wurde nicht initialisiert.
Delphi-Quellcode:
function TForm1.GetReAdr: TAdresse;
begin
Result := Adresse;
Result.Vorname := 'a';
Result.Name := 'b';
end;
// oder
function TForm1.GetReAdr: TAdresse;
begin
Adresse.Vorname := 'a';
Adresse.Name := 'b';
Result := Adresse;
end;