Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.038 c
1-1082637756
killer
2004-04-22 16:42
2004.04.11
Столбцы в StringGrid


3-1081947063
Oksana
2004-04-14 16:51
2004.04.11
Ошибка при открытии dbf через ADO


1-1082638225
Yad
2004-04-22 16:50
2004.04.11
Из цифр в деньги


1-1082621579
Stas
2004-04-22 12:12
2004.04.11
Работа с памятью


14-1082064425
Asteroid
2004-04-16 01:27
2004.04.11
3D shooter в 96KB. Кто меньше? :)