Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Override von Konstanten im Objekt - Alternative?

  Alt 26. Dez 2017, 10:12
warum kann ich die Methode MachwasmitTestvalue auch nach der Freigabe von ObjectA aufrufen?
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var ObjectA:TObjectA;
begin
  ObjectA := TObjectA.Create;
  try
    lblA.Caption:=ObjectA.testvalue;
    //ObjectA.MachWasMitTestValue;
  finally
    ObjectA.Free;
  end;
  ObjectA.MachWasMitTestValue;
end;
eigentlich gehört sie doch in den try... finaly-Abschnitt, wie auskommentiert dargestellt.
Ähm. Deinen Post verstehe ich nicht. Ist der Code von dir, oder von einem ggf. gelöschten Post?

Natürlich gehört die Anweisung in den Try...finally Block und muss aufgerufen werden bevor das Objekt wieder freigegeben wird.

Wenn es doch funktioniert, ist es Zufall, weil der Speicherbereich, in dem sich das instanzierte Objekt befunden hatte, noch nicht überschrieben wurde.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat