Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с MDI приложением, не отпускает курсор за пределы Main 
:(
    Опции темы
Александр Жуков
Дата 19.4.2005, 12:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть MDI приложение (достаточно разлапистое) работающее с USB-устройством - качает непрерывно из него по USB сигнали отображает на TImage (в силу необходимости использован именно TImage, а не TChart). Смена кадров где-то 1-3 Гц (требуется кроме всего ещё время в приборе на получение сигнала). На мощном компе (P4 2.8) все равботает медленно, но стабильно. На компах 1.8 и меньше - работает до перетаскивания (Drag) окошка с сигналом - после перетаскивания окошка (дочернее окно) курсор мышки остается "заперт" в клиентской области главного окна (то есть даже в меню/кнопки не может зайти) и за пределы этой области не выводится никак (кроме Alt-Tab и кнопки Windows). Также все открытые на данный момент окна перестают перетаскиваться (в том числе и с сигналом), а на некоторые даже перключиться нельзя. Один раз получилось вызвать модальное окошко (предусмотренное программой), но оно тоже не захотело закрываться.
Вот собственно и проблема.
Вопрос: Кто/что может так забивать приложение, ну и как с этим бороться?
Заранее спасибо!
  Вверх
_hunter
Дата 19.4.2005, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



просто по описанию вряд ли что-то сказать получится.
Могу посоветовать потоки использовать ( для получения сигнала и для отрисовки )
+ ProcessMessages подобавляй...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Александр Жуков
Дата 19.4.2005, 16:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сорри за куцее описание, но добавлять кусок кода - какой не знаю, а выкладывать весь проект - низзя smile
Попробую ProcessMessage или просто запретить отрисовку по событию OnDragStart.
  Вверх
_hunter
Дата 19.4.2005, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



запрет вряд ли что-то даст: судя по описанию, программа в рекурсию уходит...
могу еще посоветовать счетчик вызовов функций прикрутить -- тогда понятно будет есть рекурсия или нет + можно будет попробовать эти функции переписать...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Александр Жуков
Дата 20.4.2005, 08:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Рекурсия вряд- ли. В проге нету ни одного рекурсивного вызова (необходимости такой нету).
Да и, ИМХО, рекурсия дала-бы полное подвисание - а не блок курсора и прочие чудеса. Счас пробую блок рисования при перемещении...
  Вверх
Александр Жуков
Дата 20.4.2005, 09:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Правда тут встает вопрос второй. Как отследить начало и ОКОНЧАНИЕ перетаскивания формы. Процедура WMNCHitTest не подхходит, так как в ней нет информации о том, нажата ли кнопка мыши или нет (ну или есть, но я не знаю как её получить). И эта процедура не ловит ОКОНЧАНИЕ перемещения формы. Мож есть какие-то события? (типа OnStartMove и т.д.)
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.