Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zugriffsverletzung beim Öffnen des Fomulars

  Alt 17. Jul 2019, 09:20
Delphi-Quellcode:
procedure TForm1.btnButton1Click(Sender: TObject);
begin
  with TForm2.Create(nil) do
  begin
    try
      ShowModal;
    finally
      Free;
    end;
  end;
end;

// oder wenn die Variable Form2 benötigt wird:

begin
  Form2 := TForm2.Create(nil);
  try
    Form2.ShowModal;
  finally
    Form2.Free;
    Form2 := nil;
  end;
end;
Im FormClose darf man für modale Formulare kein Release aufrufen oder Action auf caFree setzen.
Das löst sporadisch Zugriffsverletzungen aus.
Form2 an dieser Stelle auf nil zu setzen macht ebenfalls keinen Sinn.
Für die Freigabe modaler Formulare ist der Aufrufer verantwortlich.

Geändert von Blup (17. Jul 2019 um 09:24 Uhr)
  Mit Zitat antworten Zitat