Nein, definitiv nicht. Der Konstruktor muss einer Objektvariable zugewiesen werden, mit der du arbeiten kannst.
Bei der ersten Variante erstellst du zwar das zweite Form, aber kannst es nicht verwenden. Der Free-Aufruf zerstoert dann das Form in dem du dich befindest (weil Free in Self.Free umgewandelt wird). Die korrekte Arbeitsweise ist die zweite.
Wenn du hingegen die Objektvariable umgehen willst, musst du so arbeiten:
Delphi-Quellcode:
with TSomeForm.Create(self) do
begin
//...
ShowModal;
//...
Free;
end;
Greetz
alcaeus