Ich mache es noch anders und verpasse dem aufzurufenden Form entsprechende Properties, die ich dann setzen und auslesen kann. Das hat den Vorteil, dass es mir egal ist, wo und in welchen Komponenten die jeweiligen Daten dargestellt werden.
Delphi-Quellcode:
type
TModalForm = class(TForm)
edtName: TEdit;
// weitere Komponenten
private
function GetUserName: string;
procedure SetUserName(const Value: string);
public
property UserName: string read GetUserName write SetUserName;
end;
...
function TModalForm.GetUserName: string;
begin
Result := edtName.Text;
end;
procedure TModalForm.SetUserName(const Value: string);
begin
edtName.Text := Value;
end;
Auf der anderen Seite dann
Delphi-Quellcode:
procedure TfrmDingens.EditUsername;
var
frm: TModalForm;
begin
frm := TModalForm.Create(nil);
try
frm.UserName := Username;
if frm.ShowModal = mrOK then
Username := frm.UserName;
finally
frm.Free;
end;
end;