5
컬렉션 속성을 사용하여 사용자 지정 구성 요소를 만들려고합니다. 그러나 개체 검사기에서 "..."단추를 클릭하여 디자인 타임에 컬렉션 편집기를 열려고하면 아무 일도 일어나지 않습니다. 내가 누락 된 것?델파이에서 TOwnedCollection 자손 사용하기
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;
그리고 항목 : 나는 문제가 무엇인지 모르는 아웃 전체 구현을보고 너무
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;
감사합니다. 오류를 발견하는 데 도움이되었습니다. RegisterClass를 호출하지 않았고 생성자에서 버그가 발생하여 컬렉션의 내부 필드가 0이되었습니다. – Harriv
문제 없으니 기꺼이 도와 드리겠습니다. –