Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Warnung W1010 bei Destructor (https://www.delphipraxis.net/161482-warnung-w1010-bei-destructor.html)

Gargamel 5. Jul 2011 17:01

Warnung W1010 bei Destructor
 
Hi

Ich erhalte folgende Warnung:
"[Pascal Warnung] Unit1.pas(22): W1010 Methode 'Destroy' verbirgt virtuelle Methode vom Basistyp 'TObject'"

Was bedeutet das? Die Delphi-Hilfe bringt mich auch nicht weiter.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  TMyObj = class(TObject)
    strict private
      Lines:TStringList;
    public
      constructor create();
      destructor destroy;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

constructor TMyObj.create;
begin
  Lines:=TStringList.Create;
end;

destructor TMyObj.Destroy;
begin
  FreeAndNil(Lines);
end;

end.

DeddyH 5. Jul 2011 17:11

AW: Warnung W1010 bei Destructor
 
Das bedeutet, dass TObject bereits über einen virtuellen Destruktor namens Destroy verfügt, den Du überschreiben (override) musst.

Gargamel 5. Jul 2011 17:17

AW: Warnung W1010 bei Destructor
 
Ah, danke. Passt.
Übrigens mußte ich den ersten Buchstaben von "Destroy" groß schreiben, da Delphi sonst wegen der Schreibweise meckert.

Neutral General 5. Jul 2011 17:18

AW: Warnung W1010 bei Destructor
 
Das bedeutet, dass du den Destruktor überschreiben sollst:

Delphi-Quellcode:
TMyObj = class(TObject)
strict private
  Lines:TStringList;
public
  constructor Create();
  destructor Destroy; override;
end;

destructor TMyObj.Destroy;
begin
  FreeAndNil(Lines);
  inherited Destroy;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz