Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Zugriffsverletzung beim Öffnen des Fomulars

  Alt 17. Jul 2019, 08: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 08:24 Uhr)
  Mit Zitat antworten Zitat