Delphi beliebte Fehler: Runtime Error 216

Der Fehler Runtime Error 216 tritt auf, wenn das Programm beendet wird und es Fehler beim Abbau der Forms gibt.

Kontrollieren ob in der FormDestroy Methode das Formular auf nil gesetzt wurde.

type Tam_Form = class(TForm)  
    procedure FormDestroy(Sender: TObject);  
  end;  

function am_Form: Tam_Form;  
procedure am_Form_FreeAndNil;  

implementation  

{$R *.dfm}  

var  
  Form: Tam_Form;  

function am_Form: Tam_Form;  
begin  
  if Form = nil then  
    Form := Tam_Form.Create(Application);  
  Result := Form;  
end;  

procedure am_Form_FreeAndNil;  
begin  
  if Form <> nil then  
    FreeAndNil(Form);  
end;  


{ Tam_Form }  

procedure Tam_Form.FormDestroy(Sender: TObject);  
begin  
  inherited;  
  Form := nil;  
end;  

initialization  
  Form := nil;  
finalization  
  am_Form_FreeAndNil;  
end.