Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Компонент ругается [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 задаёте?


Наверх

Титульная страница Поиск, карта сайта Написать письмо