Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Странные глюки с 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: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.


 
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, и с ними все было нормально.


 
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 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:09) [4]

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

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


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

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

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


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

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

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


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

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


 
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"ом что-то не так...

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


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


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

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

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

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

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

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



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

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.043 c
3-1081507342
Homer
2004-04-09 14:42
2004.05.09
Синхронизация.


1-1082453858
Litva
2004-04-20 13:37
2004.05.09
Exel v DB


8-1069869678
Михайлов Антон
2003-11-26 21:01
2004.05.09
TV Capture Card


7-1079955956
compic
2004-03-22 14:45
2004.05.09
Обновление программы из под пользователя


6-1079335370
avakss
2004-03-15 10:22
2004.05.09
TServerSocket+TClientSocket+передача Stream





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский