Вниз
Скачать: CL | DM;

Разработка компонента   Найти похожие ветки 

← →
Yarmak_Sergey ©   (2003-02-08 13:10) [0]

Уважаемые мастера!!!
Пишу компонент, кот. в себе инкапсулирует несколько визуальных контролов, в том числе TRadioGroup. Предположим назовем этот компонент TTestComponent = class(TCustomControl).

В конструкторе TTestComponent я пишу следующее

constructor TTestComponent.Create(AOwner: TComponent);
begin

FRadioGroup := TRadioGroup.Create(Self);
FRadioGroup.Parent := Selft;
FRadioGroup.Items.Add("First Item");
FRadioGroup.Items.Add("Second Item");
end;

Так вот вопрос, почему когда я перетягиваю контрол с палитры ком понент на форму возникает ошибка с сообщением
"Control has no parent window" ?


← →
Романов Р.В. ©   (2003-02-08 13:15) [1]


> FRadioGroup.Parent := Selft;

Наверно не Self, а Self.Parent. Хотя вы лучше должны знать как он должен работать.


← →
Palladin ©   (2003-02-08 13:16) [2]

ИМХО

inherited Create(AOwner)
self.parent:=AOwner

в конструкторе попоробуй написать


← →
Yarmak_Sergey ©   (2003-02-08 15:10) [3]

Palladin ©

А что на уровне конструктора не определен Parent?
Тогда, когда же определяется Parent для TTestComponent?
И почему если не пишешь строки
FRadioGroup.Items.Add("First Item");
FRadioGroup.Items.Add("Second Item");

то все корректно?


← →
Anatoly Podgoretsky ©   (2003-02-08 15:16) [4]

Это ты их должен писать :-)


← →
Style   (2003-02-08 23:17) [5]

Зачем использовать TRadioGroup юзай TPanel и кучу RadioButton
а в TRadioGroup глюк
в модуле ExtCtrls
в процедуре ArrangeButtons

строчка DeferWindow если ее удалить то все работает :))


← →
Юрий Зотов ©   (2003-02-09 10:18) [6]

Ошибка возникает из-за строк:
FRadioGroup.Items.Add("First Item");
FRadioGroup.Items.Add("Second Item");

Причина - в конструкторе у FRadioGroup еще нет окна.

Заместите метод CreateWnd и перенесите эти строки в него, строго ПОСЛЕ вызова inherited.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-52889
beginner (!)
2003-02-08 09:10
2003.02.17
Собственный формат данных


9-52701
Карлсон
2002-09-11 14:53
2003.02.17
Как сделать интро?


14-53226
Tornado
2003-01-31 15:41
2003.02.17
Опера 7


1-52905
Sdel
2003-02-08 13:59
2003.02.17
Нажитие клавиш


1-53073
Split_
2003-02-06 18:30
2003.02.17
Help! Нужна помощь со строками!




   Наверх