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

Странные глюки с TPageControl   Найти похожие ветки 

 
Makhanev A.S. ©   (2004-04-18 20:15) [0]

есть PageControl.

В обработчике события одного (моего) компонента в ListView пишется строка.

ListView находится на неактивной странице PageControl"а.

После обработки события моего компонента, при переключении PageControl"а на страницу с ListView приложение виснет(под Delphi) или вылетает (без Delphi).

Другим методом повторить глюк не удалось.

При вылете пишет AV, ESysError (code=5, "отказано в доступе").

В приложении используются потоки.

Самое странное - то, что когда ListView находится на активной странице PageControl"а - всё ОК.

ListView может быть заменен на Memo - эффект тот же.
XP Манифест (наличие/отсутствие) на ситуацию не влияет.

Буду очень благодарен за советы.


 
Makhanev A.S. ©   (2004-04-18 20:22) [1]

забыл сказать,
При использовании DevExpress"овского PageControl (в предках нет VCL-ного PC) глюк остаётся, один в один.

Есть подозрения на потоки, но они с VCL никак не связаны.

Событие моего компонента генерится в обработчике OnThreadStart класса TServerSocket.


 
garry79 ©   (2004-04-18 20:49) [2]

У меня похожая ситуация (я даже писал здесь) была когда я считываю кол-во Item"ов в ListView, ну или еще что-нить, если он находится в неактивной странице, достаточно кликнуть на эту страницу, "посмотреть" на ListView, и все работает нормально. Я считаю что это глюк ListView (библиотека ComCtrl.dll кажется), потому что раньше заместо ListView были ListBox, и с ними все было нормально.


 
Makhanev A.S. ©   (2004-04-18 20:55) [3]


> garry79 ©   (18.04.04 20:49) [2]

хм, сейчас попробую листбокс...


 
Makhanev A.S. ©   (2004-04-18 21:09) [4]

Попробовал с ЛистБоксом - то же самое.

Нашел один стабильный выход тз ситуации - если в контрол добавить строку до "критичных событий" (напр. в FormCreate) - то всё ОК.


 
Makhanev A.S. ©   (2004-04-18 21:27) [5]

более того, если юзать просто панельку вместо PageControl и когда надо ее скрывать и показывать - то глюк повторяется.

Так что - проблема не в PC, а в Visibility WinControl"а + обработчик события


 
garry79 ©   (2004-04-19 07:56) [6]

Не понял, что значит в контрол до критичных событий?


 
Makhanev A.S. ©   (2004-04-19 15:51) [7]


> garry79 ©   (19.04.04 07:56) [6]
>Не понял, что значит в контрол до критичных событий?

У меня глюк возникает при добавлении строки в контрол (листвью, мемо, листбокс...).
Это добавление осуществляется в обработчике события моего компонента (просто пишу лог того, что событие отработало).

"Критичное событие" - это момент времени во время которого вызывается Add... строки в контрол и следует глюк.

Добавляя строку в других местах глюка нет.

Вот я и ломаю голову, то ли с моим компонентом что-то не так (что весьма странно), то ли с WinControl"ом что-то не так...

Более того, если до "критичного события" что-либо добавить в пустой контрол, то глюка нет.



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

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



Память: 0.47 MB
Время: 0.063 c
14-1082112857
juiceman
2004-04-16 14:54
2004.04.11
Использование Debug API - исходники


4-1075960605
Shi
2004-02-05 08:56
2004.04.11
Создан ли класс?


3-1079364036
Ross
2004-03-15 18:20
2004.04.11
Не получается составить запрос


1-1082460092
INTAARI
2004-04-20 15:21
2004.04.11
Как показать и скрыть hint объекта Shape


6-1075827968
griban
2004-02-03 20:06
2004.04.11
nastrojka IP




   Наверх