Einzelnen Beitrag anzeigen

DelphiNerd84

Registriert seit: 25. Apr 2011
3 Beiträge
 
#1

Problem mit Constructor/Destructor

  Alt 25. Apr 2011, 19:58
Delphi-Version: 5
hi leute,

bin neu hier im forum und hab gleich ein problem. nach stundenlangen herumprobieren weiss ich nicht mehr weiter habe erst seit kurzem angefangen mit klassen zu arbeiten.. und scheitere bereits beim constructor bzw. dem pointer darauf.

Hier erstmal die Unit mit der Class:

Delphi-Quellcode:
UNIT UContainer;
INTERFACE
USES SysUtils;
TYPE
  TContainer=Class
    Private
      FFileName:String;
      Procedure DoSomething;
    Public
      Constructor Create(const FileName:String;AsReadOnly:Boolean);
      Destructor Destroy;override;
  End;
IMPLEMENTATION
Constructor TContainer.Create(constFName:String;AsReadOnly:Boolean);
Begin
 inherited Create;
 If FileExists(FName)Then Begin
  //HandleFile;
  //..
 End Else Destroy
End;
Destructor TContainer.Destroy;
Begin
 inherited Destroy
End;
END.
und dann..
Delphi-Quellcode:
var
  P:Pointer;
Begin
  P:=TContainer.Create('C:\Non-Existing-File.txt',False);
  If P=NIL Then
   ShowMessage('P is NIL')
  Else
   ShowMessage('P is NOT NIL');
  TContainer(P).DoSomething; //..erzeugt Exception!
End;
ich möchte also eine klasse erzeugen, die falls ein problem auftaucht (z.b. nicht existierende datei) sich gleich mittels destructor selbst zerstört. Durch aufruf des destructors sollte doch eigentlich auch der pointer darauf auf nil gesetzt werden? das passiert aber nicht! wie kann man sonst herausfinden ob die klasse noch existiert?

vielen dank!
gruss markus
  Mit Zitat antworten Zitat