Hallo,
ich schreibe zZ eine Komponente und habe in einem TCollectionItem eine TStrings-Property.
Deklariert ist sie als TStrings, erzeugt wird sie als TStringList.
Delphi-Quellcode:
type
TMyItem = class(TCollectionItem)
private
{ Private-Deklarationen }
FLines: TStrings;
function GetLines: TStrings;
procedure SetLines(Value: TStrings);
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
constructor Create; overload;
constructor Create(const AFileName: TFileName); overload;
destructor Destroy; overload;
published
{ Published-Deklarationen }
property Lines: TStrings read GetLines write SetLines;
end;
implementation
constructor TMyItem.Create;
begin
FLines := TStringList.Create;
end;
constructor TMyItem.Create(const AFileName: TFileName);
begin
Create;
Lines.LoadFromFile(AFileName);
end;
destructor TMyItem.Destroy;
begin
FLines.Free;
inherited;
end;
function TMyItem.GetLines: TStrings;
begin
Result := FLines;
end;
procedure TMyItem.SetLines(Value: TStrings);
begin
FLines.Assign(Value);
end;
end.
Nun bekomme ich jedes mal den Fehler:
Zitat:
nil kann nicht zu TRichEditStrings zugewiesen werden
sobald ich in der
IDE auf die Lines-Property zugreifen will.
Ich habe bereits versucht, das FLines beim Assign zu casten und die Get-methode durch einen normalen Var-Zugriff zu ersetzen, leider ohne Erfolg.
Es gab bereits einige Threads bezüglich dieses Problems, aber entweder lag es dort an anderen Dingen oder die Antwort hat mir auch nicht weitergeholfen.
Ich hoffe, ihr könnt mir helfen...
MfG; Dennis