![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 03.01.2009
Сообщений: 116
|
![]()
Понимаю, что вопрос без конкретики и исходников - это не очень корректно. Но просто возможности задать его с исходниками из-за объема и логики - нет возможности. Но может быть кто-то подскажет что и по общему описанию?
Есть поток (TThread), в котором инициируется связь с COM-объектом. Возникла такая задача - иногда в процессе работы делать обработки по таймеру. То есть в потоке создаем таймер (и нет разницы - вешать его и его обработчик на этот поток или на основной), по таймеру - дергаем метод потока (даже и через Synchronize), где вызывается метод COM-объекта. Имеем "Разрушительный сбой". Если дергать не метод, а читать значение поля COM-объекта, то все нормально. Ясно, что в контексте Execute что-то дергать у потока еще - не оч хорошо. Но поток уже точно крутится по пустому циклу While not Terminated. Попробовали в обработчике таймера делать Suspend - Обработка - Resume - та же петрушка (можно бы на этом пустом цикле ловить требуемое время, но в контексте общей задачи нет все же полной уверенности, что уже дошли до требуемого пустого цикла). Попробовали BMDThread и ставить дополнительные обращения к COM-объекту в некоторую очередь, которую дергать на OnUpdate - то же самое ("Разрушительный сбой"), да и есть еще сильное сомение, что связь с COM-объектом идет в дочернем потоке (сам BMDThread - это же не поток, а TComponent-обертка над реальным потоком). Есть у кого мысли на тему - как дернуть метод COM-объекта по таймеру? |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 12.02.2009
Сообщений: 62
|
![]()
sleep не пробовали делать в потоке?
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 03.01.2009
Сообщений: 116
|
![]()
FANATID, пробовали. Просто нужен именно таймер
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TThread в С++ Builder | alun | C++ Builder | 7 | 02.06.2010 21:55 |
Автосохранения по таймеру | ScreN | Общие вопросы Delphi | 13 | 09.01.2009 18:49 |
Visual Basic, рисование по таймеру | Arion | Помощь студентам | 5 | 21.05.2008 12:42 |
Нечто подобное таймеру | Артэс | Общие вопросы C/C++ | 8 | 11.02.2008 19:19 |
Вызов функции по таймеру | Lexicss | Общие вопросы Delphi | 4 | 30.05.2007 22:47 |