Форум: "Компоненты";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
ВнизКоллекция в коллекции... Найти похожие ветки
← →
bk (2004-12-15 13:20) [0]Есть объект (компанент) полем которого является коллекция
(заполняется на этапе проектирования - с ним все нормально)
но у каждого элемента этой коллекции есть поле которое в свою очередь тоже является коллекцией (вот с ним проблема), при попытке заполнения открывается тот-же редактор элементов что и у первой коллекции, хотя объекты у коллекций разные
ЗЫ. если вопрос тупой, то попрошу не бить, а объяснить ошибку (я вообще-то понятливый)
← →
Юрий Зотов © (2004-12-15 13:34) [1]Покажите объявления классов и код методов GetOwner для 2-х элементов колекций и 2-х коллекций.
← →
bk (2004-12-15 13:50) [2]{TDefParam}
TDefParam = class(TCollectionItem)
private
FParam: Variant;
public
constructor Create(Collection: TCollection); override;
published
property Param: Variant read FParam write FParam;
end;
{TDefParams}
TDefParams = class(TCollection)
private
FObjMet: TMetod;
...
protected
function GetItem(Index: Integer): TDefParam;
procedure SetItem(Index: Integer; const Value: TDefParam);
function GetOwner: TPersistent; override;
...
public
constructor Create(lMetod: TMetod);
property Items[Index: Integer]: TDefParam read GetItem write SetItem; default;
...
end;
{TMetod}
TMetod = class(TCollectionItem)
private
...
FDefParams : TDefParams;
procedure SetDefParams(const Value: TDefParams);
public
constructor Create(Collection: TCollection); override;
destructor Destroy; override;
...
published
property DefParams: TDefParams read FDefParams write SetDefParams;
...
end;
{TMetods}
TMetods = class(TCollection)
private
FObj: TMyObj;
protected
function GetItem(Index: Integer): TMetod;
procedure SetItem(Index: Integer; const Value: TMetod);
function GetOwner: TPersistent; override;
...
public
constructor Create(AddObj: TAddObj);
property Items[Index: Integer]: TMetod read GetItem write SetItem; default;
...
end;
{TAddObj}
TAddObj = class(TComponent)
private
FMetods: TMetods;
//
procedure SetMetods(const Value: TMetods);
procedure SetProps(const Value: TProps);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property Metods: TMetods read FMetods write SetMetods;
end;
← →
bk (2004-12-15 14:38) [3]Всем спасибо, нашел ошибку, виной всему собственная невнимательность...
← →
CooLSeS © (2005-03-14 13:02) [4]Хоть бы написал в чем ошибка, помог другим, а то не которые тоже могут мучиться с этим вопросом!!
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.068 c