Erstelle ich die Instanz aber selber also
Delphi-Quellcode:
FormListe := TFormListe.Create(Application);
FormListe.Show;
gibt es diese Zugriffsverletzung nicht.
Das hier gibt aber eine in der anderen
Unit
Delphi-Quellcode:
procedure CreateAndShowForm(const AFormClass: TFormClass; AFormInstance: TCustomForm);
begin
if not Assigned(AFormInstance) then
AFormInstance := AFormClass.Create(Application);
AFormInstance.Show;
end;
CreateAndShowForm(TFormListe, FormListe);
Nur als Beispiel was auch schon zur
AV führt. Nur ein Button, 2 Forms, absolut nichts weiter
Delphi-Quellcode:
procedure CreateForm(
const AFormClass: TFormClass; AFormInstance: TCustomForm);
begin
if not Assigned(AFormInstance)
then
AFormInstance := AFormClass.Create(Application);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateForm(TFormListe, FormListe);
FormListe.Show;
// hier passiert gar nichts und AV
end;