Sto provando a creare un componente personalizzato con una proprietà di raccolta. Tuttavia, se provo ad aprire l'editor della raccolta durante la fase di progettazione facendo clic sul pulsante "..." nella finestra di ispezione oggetto, non succede nulla. Cosa mi manca?Utilizzo discendente di TOwnedCollection in Delphi
Ecco la mia TCollection discendente:
TMyCollection = class(TOwnedCollection)
private
function GetItem(Index: Integer): TMyCollectionItem;
procedure SetItem(Index: Integer; const Value: TMyCollectionItem);
public
function Add : TMyCollectionItem;
property Items[Index: Integer]: TMyCollectionItem read GetItem write SetItem;
end;
E la voce:
TMyCollectionItem = class(TCollectionItem)
private
FValue: integer;
protected
function GetDisplayName: string; override;
public
procedure Assign(Source: TPersistent); override;
constructor Create(Collection: TCollection); override;
destructor Destroy; override;
published
property Value : integer read FValue write FValue;
end;
Grazie, che mi ha aiutato a individuare gli errori: non ho chiamato RegisterClass e ho avuto un bug nel costruttore che ha causato la nullità del campo interno per la raccolta. – Harriv
Nessun problema, felice di poterti aiutare. –