![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компонент ругается [D5, Win95/98, Win2k]
ivan_dishlenko © (2002-05-17 13:42:00)По роду работы создаю приходится создавать компоненты. Часто случается когда при положении компонента (визуального) на окно Дельфи орет "Control "" has no parent window". Так или иначе я добивался, чтобы все работало. Но хочется знать, в чем же все-таки дело. Может знает кто. Помогите пожалуйста. Заранее признателен.
ivan_dishlenko (2002-05-17 18:30:00) [1]Всем спасибо. Разобрался.
Игорь Шевченко (2002-05-17 14:50:00) [2]Посмотрите, как в VCL это обходят...
ivan_dishlenko (2002-05-17 14:45:00) [3]А где ему Parent задавать. Вот конструкция:
Сие есть метод create:
inherited;
Width := 200;
Height := 100;
TabStop := True;
ParentColor := False;
FScrollBarOptions := TScrollBarOptions.Create(Self);
Если задать так:
inherited;
// no extra space for nodes needed
Parent := TWinControl(AOwner);
Width := 200;
Height := 100;
TabStop := True;
ParentColor := False;
FScrollBarOptions := TScrollBarOptions.Create(Self);
то полетит уже с Access Violation вместо предыдущего ругательства.
Игорь Шевченко (2002-05-17 13:57:00) [4]Дело в том, что происходит обращение к Handle компонента ДО ТОГО, как ему присвоен Parent. Происходит это исключение ЧАЩЕ ВСЕГО в методе TWinControl.CreateWnd.
С уважением,
Song (2002-05-17 13:46:00) [5]TWinControl.Parent задаёте?