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

Вопрос по Handle TWinControl   Найти похожие ветки 

← →
DVM ©   (2006-11-17 15:33) [0]

В каком методе TWinControl правильнее отлавливать создание/пересоздание Handle его окна?


← →
clickmaker ©   (2006-11-17 15:36) [1]

CreateHandle


← →
DVM ©   (2006-11-17 15:41) [2]

Спасибо.


← →
DVM ©   (2006-11-17 15:44) [3]


> clickmaker ©   (17.11.06 15:36) [1]

А что это Handle не создается до тех пор, пока он не будет востребован?
Т.е. я создал экземпляр потомка TWinControl, но не отобразил его, при этом CreateHandle не отработал. Как только отображаю или пытаюсь этот Handle считать - он создается, CreateHandle отрабатывает.


← →
clickmaker ©   (2006-11-17 15:52) [4]


> А что это Handle не создается до тех пор, пока он не будет
> востребован?

для экономии ресурсов, видимо


← →
Наиль ©   (2006-11-17 15:53) [5]

>[3]
Именно так.
Заодно понаблюдай, как ведёт себя Handle при смене Parent твоего компонента.


← →
Наиль ©   (2006-11-17 15:55) [6]

> Заодно понаблюдай, как ведёт себя Handle при смене Parent
> твоего компонента.

Это я к тому, что Handle вещь не постоянная, и завесит от Parent.


← →
DVM ©   (2006-11-17 15:57) [7]


> Это я к тому, что Handle вещь не постоянная, и завесит от
> Parent.

Я для того и отлавливаю, чтобы потом новый Handle передать в поток используемый совместно с компонентом. Поток ему сообщения шлет.


← →
clickmaker ©   (2006-11-17 15:59) [8]

а почему бы в поток не передать сам указатель на компонент?


← →
DVM ©   (2006-11-17 16:02) [9]


> а почему бы в поток не передать сам указатель на компонент?

Можно и так было. Что-то просто не пришло в голову так сделать.


← →
Rouse_ ©   (2006-11-17 16:03) [10]


> а почему бы в поток не передать сам указатель на компонент?

ИМХО затраты на синхронизацию будут гораздо больше чем на SendMessage ;)


← →
clickmaker ©   (2006-11-17 16:21) [11]

PostMessage(FComp.Handle


← →
Leonid Troyanovsky ©   (2006-11-17 18:00) [12]


> clickmaker ©   (17.11.06 16:21) [11]

> PostMessage(FComp.Handle


Некошерно.
Допустим, что запрос хендла привел к CreateHandle.
Тогда окно создастся в рабочем потоке.

--
Regards, LVT.


← →
clickmaker ©   (2006-11-17 18:04) [13]


> Некошерно

согласен. Нужно что-то более нейтральное. Просто вариант с отслеживанием хэндла тоже какой-то... несколько трансректальный )
впрочем, хозяин - барин



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

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



Память: 0.48 MB
Время: 0.036 c
4-1156650425
m52
2006-08-27 07:47
2007.01.07
OpenFileMapping не работает под win2000


11-1143429106
sff
2006-03-27 07:11
2007.01.07
полосы прокрутки для scrollbox


15-1166292829
<[exe-cutt3r]>
2006-12-16 21:13
2007.01.07
Задачи по D7


15-1166196896
Sashok-hok
2006-12-15 18:34
2007.01.07
Проблемы с винтчестиром


6-1154691688
digger
2006-08-04 15:41
2007.01.07
TIdSimpleServer грузит процессор




   Наверх