Wäre es auch irgendwie mit einer private Variablen möglich?
Ja, über ein property:
Delphi-Quellcode:
TForm2 = class(TForm)
private
fMyVar:String;
public
...
property MyVar:string read fMyVar;
end;
in Form1 der Aufruf
Delphi-Quellcode:
Form2:=TForm2.Create(self);
try
if Form2.ShowModal = mrOK then
begin
ShowMessage(Form2.MyVar);
end;
finally
Form2.free
end;
Du könntest dem property dann auch noch einen Getter und Setter verpassen und darin in Form2 die entsprechenden Controls setzen bzw auslesen.