Hallo zusammen,
ich habe ein Problem mit TList. Dies ist der erste Versuch, etwas mit Pointern zu arbeiten, aber ich bekomme immer eine Fehler bei TKeywordStats.Get. Ich kann den Pointer nicht zurück in den Type TStats konvertieren
1. Versuch
result:=@FKeywordlist[Index];
2. Versuch
result:=TStats(@FKeywordlist[Index]);
Danke für die Hilfe!
Delphi-Quellcode:
unit CLStats;
interface
uses Classes;
type TStats =
record
Keyword :
String;
Count: Shortint;
end;
//Type
type TKeywordStats=
class (TComponent)
private
FKeywordlist:TList;
function Get(
Index: Integer): TStats;
procedure Put(
Index: Integer;
const Value: TStats);
public
constructor Create(AOwner: TComponent);
override;
destructor destroy;
override;
function add(Item:TStats):integer;
function count :integer;
property KeywordStats[
Index: Integer]: TStats
read Get
write Put;
end;
implementation
constructor TKeywordStats.create;
begin;
FKeywordlist:=TList.Create;
inherited;
end;
destructor TKeywordStats.destroy;
begin;
FKeywordlist.Destroy;
inherited destroy;
end;
function TKeywordStats.Add(Item: TStats): Integer;
begin
Result:=FKeywordlist.add(@Item);
end;
function TKeywordStats.count: Integer;
begin
Result:=FKeywordlist.count;
end;
function TKeywordStats.Get(
Index: Integer):TStats;
var p:TStats;
begin
result:=FKeywordlist[
Index];
end;
procedure TKeywordStats.Put(
Index: Integer;
const Value: TStats);
begin
FKeywordlist[
Index]:=@Value;
end;
end.