Hallo. Ich möchte gern ein Array als published property erstellen. Laut
OH geht dies, jedoch nur, wenn man ein Komponenteneditor erstellt. Das wäre ja alles kein Problem, jedoch funktionieren die funktionen nicht so wie ich will, nämlich gar nicht. Ich kann nicht über
Database1.Liste(0).id auf den Record zu greifen. Kann mir einer sagen warum?
Delphi-Quellcode:
type
TFeldRecord = record
ID : Integer;
Name : String;
Typ : Integer;
end;
type
TFeldListe = class(TPersistent)
private
FListe: array of TFeldRecord;
procedure SetField(Index: Integer; Value: TFeldRecord);
function GetField(Index: Integer): TFeldRecord;
public
property Liste[Index: Integer]: TFeldRecord read GetField write SetField;
end;
type
TDataBase = class(TComponent)
private
{ Private-Deklarationen }
FPfad : string;
FDatei : String;
FListe : TFeldListe;
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen } // Zur Laufzeit
constructor Create (AOwner: TComponent); override;
published
{ Published-Deklarationen } // Zur Designzeit
property Pfad : String Read FPfad Write FPfad;
property Datei : String Read FDatei Write FDatei;
property Liste : TFeldliste read fListe write fliste;
end;