Вниз
Скачать: 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.01 c
1-52963
shodan
2003-02-08 23:54
2003.02.17
RichEdit


1-53039
SniZ
2003-02-09 20:56
2003.02.17
И еще по строкам!


1-53115
Nemas
2003-02-07 08:30
2003.02.17
Параметры командной строки


14-53201
FLIZ
2003-01-31 14:02
2003.02.17
что надо набрать в


8-53121
Navi1982
2002-10-25 18:05
2003.02.17
Прозрачная картинка на форме...




   Наверх