Hallo Leute,
wie kann es sein, das ein Constructor den Destructor der aufrufenden Klasse aufruft?Ich versuche per
var1:=TTagList.create einen neue Instanz zu erzeugen, jedoch springt der Constructor (auch wenn die auskommentieren Aufruf drin sind) direkt in den Destructor
der aufrufenden Klasse. Dann bekomme ich natürlich eine Fehler. In diesem Fall Runtime Error216 at######. Hat jemand einen Tip für mich ?
Vielen Dank!
Delphi-Quellcode:
interface
uses Classes,
Contnrs,//TObjectList
Variants;
type TTag = class
FTag: string;
FTag1: string;
FTag2: string;
public
constructor Create;
destructor Destroy;override;
property Tag : String read FTag write FTag;
property element1 : String read FTag1 write FTag1;
property element2 : String read FTag2 write FTag2;
end;//Type
type TTagList= class (TObject)
FTaglist:TObjectlist;
function Get(Index: Integer): TTag;
procedure Put(Index: Integer; const Value: TTag);
public
constructor Create;
destructor Destroy;override;
function Add:integer;
function Additem(Item:TTag):integer;
procedure Delete(Index:integer);
function Count :integer;
property item[Index: Integer]: TTag read Get write Put;
end;
implementation
constructor TTag.create;
begin;
FTag:=null;
FTag1:=null;
FTag2:= null;
//inherited;
end;
destructor TTag.destroy;
begin;
//inherited destroy;
end;
constructor TTagList.create;
begin;
//FTagList:=TObjectList.Create(true);
//inherited create;
end;
destructor TTagList.destroy;
begin;
FTagList.Free;
inherited destroy;
end;
function TTagList.Add: Integer;
var TagType: TTag;
begin
TagType:=TTag.Create;
Result:=FTagList.add(TagType);
end;
function TTagList.Additem(Item: TTag): Integer;
var TagType: TTag;
begin
TagType:=TTag.Create;
TagType:=Item;
Result:=FTagList.add(TagType);
end;
function TTagList.count: Integer;
begin
Result:=FTagList.count;
end;
function TTagList.Get(Index: Integer):TTag;
begin
result:= TTag(FTagList.Items[Index]);
end;
procedure TTagList.Put(Index: Integer; const Value: TTag);
begin
FTagList[Index]:=Value;
end;
procedure TTagList.Delete;
begin
FTagList.Delete(Index);
end;
end.