Moin moin,
ob ein Objekt mit Free freigegeben wurde kannst Du nicht überprüfen, da mit Free die Resourcen freigegeben werden (hoffentlich alle
), die Variable aber weiterhin eine Adresse auf ein nun nicht mehr existentes Objekt enthält.
(Von der "brutal" Methode auf einen Bestandteil (Methode oder Eigenschaft) in einem try/except Block zuzugreifen, und im Falle einer
Exception zu entscheiden, dass das Obekt nicht mehr existiert. Dies nur der Vollständigkeit halber erwähnt.)
Um ein Objekt so freizugeben, dass eine Überprüfung möglich ist, gibt es (ich glaube seit D4) die Prozedure FreeAndNil. Hiermit wird das Objekt freigegeben, und anschliessend, die Variable auf auf nil gesetzt, so dass dann die Abfrage
if ObjektVariable <> nil then ShowMessage('Objekt existiert');
möglich ist.
Ersetzten lässt sich FreeAndNil durch
Delphi-Quellcode:
ObjektVariable.Free;
ObjektVariable := nil;