Hallo,
habe folgenden Code:
Delphi-Quellcode:
TFeedItem =
record
Title,
Description,
Author,
URL :
String;
DateTime : TDateTime;
end;
TFeedItemClass =
class(TPersistent)
private
fItems: TList;
function GetItem(
Index: Integer): TFeedItem;
procedure SetItem(
Index: Integer;
const FeedItem: TFeedItem);
function GetCount: Integer;
public
constructor Create;
destructor Destroy;
override;
procedure AddItem(
const FeedItem: TFeedItem);
procedure RemoveItem(
Index: Integer);
procedure Clear;
property Items[
Index: Integer]: TFeedItem
read GetItem
write SetItem;
property Count: Integer
read GetCount;
end;
function TFeedItemClass.GetItem(
Index: Integer): TFeedItem;
begin
Result := TFeedItem(fItems[
Index]^);
end;
procedure TFeedItemClass.SetItem(
Index: Integer;
const FeedItem: TFeedItem);
begin
fItems[
Index] := @FeedItem;
end;
Nun ist es möglich, dass ich z.B. folgendes machen kann:
Delphi-Quellcode:
var
Item: TFeedItem;
begin
Item.Title := 'sdfsdf';
FeedItemClass.Items[5] := Item;
end;
Damit würde das 5. Item mit den neuen Daten überschrieben werden. (In diesem Beispiel existiert das 5. Item natürlich!)
Es ist aber nicht möglich folgendes zu machen:
FeedItemClass.Items[5].Title := 'sdfsdfs';
Da meckert der Compiler, dass auf Title nur lesend zugegriffen werden kann.
Wo muss ich nun was anpassen, damit ich normal auf die Variablen zugreifen kann?
Gruß
Sascha