Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.12;
Скачать: CL | DM;

Вниз

Недопустимый дескриптор окна   Найти похожие ветки 

 
anbezr   (2003-04-28 13:23) [0]

Привет!
с помощью PostMessage посылаю собщение объекту TCustomControl. при посылке возникает сабж, хотя в отладчике посмотрел, что все парамеры правильные - hWnd, в частности.
что это???


 
Skier ©   (2003-04-28 13:28) [1]

>anbezr


> с помощью PostMessage посылаю собщение объекту TCustomControl.
> при посылке возникает сабж,

1) Код покажи.
2) Есть ещё TControl.Perform(...) Может устроит ?


 
Digitman ©   (2003-04-28 13:33) [2]

объект класса TCustomControl не имеет св-ва hWnd


 
Skier ©   (2003-04-28 13:36) [3]

>Digitman
TWinControl - TCustomControl


 
anbezr   (2003-04-28 13:42) [4]

при создании:
SM_EVENTRAISED := RegisterWindowMessage(PChar(SM_EVENTRAISED_STR));

когда нужно посылать:
if not PostMessage(fReceiverWnd, SM_EVENTRAISED, EventNo, Param) then ShowSysMessage("");
fReceiverWnd - правильная - проверял отладчиком.


 
Digitman ©   (2003-04-28 13:46) [5]


> Skier


но о TWinControl в вопросе речи не идет ! Мало ли у TCustomControl наследников разных !


 
Zz_   (2003-04-28 13:49) [6]


fReceiverWnd.Handle ?


 
Skier ©   (2003-04-28 13:50) [7]

>Digitman

> но о TWinControl в вопросе речи не идет !

Не идёт ! Но ты так категорично. :)


 
anbezr   (2003-04-28 13:55) [8]

Digitman © (28.04.03 13:46)

потому и не идет, что TcustomControl - наследник TWinControl


 
Skier ©   (2003-04-28 13:58) [9]

>anbezr
А HandleAllocated что тебе вернёт перед посылкой сообщения ?


 
anbezr   (2003-04-28 14:04) [10]

false


 
Skier ©   (2003-04-28 14:05) [11]

>anbezr (28.04.03 14:04)
"Ну вот и вот - больной зуб !"
Добивайся того чтобы было True


 
anbezr   (2003-04-28 14:11) [12]

а что, когда я делаю
TWinControl.Hide;
его Handle уничтожается, а при
TWinControl.Show;
создается вновь?


 
Skier ©   (2003-04-28 14:12) [13]

>anbezr
А при чём тут Hide и Show ?


 
anbezr   (2003-04-28 14:18) [14]

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


 
Skier ©   (2003-04-28 14:26) [15]

>anbezr

> что Handle принимающего, посылающий объект запоминает при
> создании принимающего.

Тебе самому-то сие понятно ?


 
anbezr   (2003-04-28 14:35) [16]

если предположить, что при Hide и Show Handle обновляется, то, да


 
Digitman ©   (2003-04-28 14:44) [17]


> anbezr


Зайди в раздел WinApi, там не так уж давно <Игорь Шевченко> "разжевывал" про "уникальность окон", в частности - про механизм метода TWinConthol.RecreateWnd.

Сдается мне, получаешь ты "по лбу" именно этими "граблями" ))

цитата из хэлпа :

For example, to reflect a change in the border style of an edit box, the window for the control must be recreated.

вероятно, в обработчиках OnHide/OnShow у тебя происходит подобная манипуляция с целевым контролом


 
anbezr   (2003-04-28 14:57) [18]

да, каждый раз при показе формы обновляю Handle - работает.
Спасибо



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

Текущий архив: 2003.05.12;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
3-34361
Silver_
2003-04-21 09:47
2003.05.12
ID только-что добавленой записи


7-34631
Songoku
2003-03-16 04:40
2003.05.12
Как узнать зажата ли клавиша????


1-34478
BorisUK
2003-04-28 06:51
2003.05.12
Проект из D5 работает не правильно в !


1-34498
Евгений
2003-04-27 08:46
2003.05.12
Как менять свойство сразу нескольких компонент?


14-34581
race1
2003-04-23 18:31
2003.05.12
Monitor