Форум: "Основная";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
ВнизНедопустимый дескриптор окна Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c