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

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

Parent = TPanel


DevilDevil ©   (2006-10-26 13:31:00) 

Достаточно странная ошибка. Как ужа, наверное, многим известно :), я пишу компонент-таблицу. При попытке поместить мой компонент на Панели, таблица помещается на Форме... причём с теми координатами Left,Top , с которыми таблица была брошена на панель... Конструктор примерно следующий:

constructor TInfoTable.Create(Owner: TComponent);  
begin
 inherited Create(Owner);
 Parent := Owner; // <-- без этой строки тоже ошибки какие-то были
. . .
end;


P.S. компонент унаследован от TCustomControl


Percent   (2006-10-29 16:53:00) [1]

Так вот... а раз это ошибку не вызывает, то и Parent := Owner; можно убрать. Что я, собственно, и сделал

А [1] прочитать не судьба...


DevilDevil   (2006-10-27 15:46:00) [2]

Спасибо. Я "исправил".
Ошибки раньше возникали из-за того, что в конструкторе я использовал Handle моего компонента. По совету коллег, оформил обращение так:
if HandleAllocated then GetScrollInfo(Handle,SB_HORZ,&Info);

Сдаётся мне, всю строку вообще можно закомментитровать... но дело то не в этом, вроде нормально работает.

Так вот... а раз это ошибку не вызывает, то и Parent := Owner;можно убрать. Что я, собственно, и сделал. Компонент кидается нормально.

Всё равно спасибо.

Сейчас начал другой прстенький компонент... опять проблема. Но для этого создам другой топик.


Наиль   (2006-10-27 09:42:00) [3]

> выясни в чем заключаются оибки. скорее всего где-то происходит
> обращение к Parent, а он еще nil;

Иногда исправляется изменением строчек вида
MyProperty:=...

на
FMyProperty:=...


StriderMan   (2006-10-27 09:12:00) [4]


> // <-- без этой строки тоже ошибки какие-то были

выясни в чем заключаются оибки. скорее всего где-то происходит обращение к Parent, а он еще nil;


DrPass   (2006-10-26 19:46:00) [5]


> Parent := Owner; // <-- без этой строки тоже ошибки какие-
> то были

Вот из-за этой строки оно и попадает на форму. Оставь Parent дизайнеру


DimaBr   (2006-10-26 14:09:00) [6]


> Parent := Owner;

SetParent;override;


MBo   (2006-10-26 13:38:00) [7]

А если параметр назвать AOwner?


Наверх

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