Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как обрубить зависший ОСХ ? [D7, WinXP]


Альф ©   (2008-04-11 11:29:00) 

Вот такой простой вопрос.
Мизансцена:

Есть некоторый компонент установленный через Import ActiveX Сontrol...
Иногда, при неблагоприятном влиянии луны, методы этого компонента выполняются очень долго или вообще зависают.
Как обрубить выполнение такого метода ?


Альф   (2008-04-11 15:18:00) [1]


> clickmaker ©   (11.04.08 12:30) [3]
> ну если вероятность зависания высока, то да
> но я бы поразбирался в причине

Причина думаю в том, что этот ActiveX представляет себе программный API, через который работаем с драйвером, который в свою очередь работает с железкой :)


clickmaker   (2008-04-11 12:30:00) [2]


> Или прийдется для каждого вызова создавать свой поток ?

ну если вероятность зависания высока, то да
но я бы поразбирался в причине


Альф   (2008-04-11 12:00:00) [3]

В отдельном.
Но в том потоке крутиться много чего, так что TerminateThread не хотелось бы использовать из идеологических соображений.

Или прийдется для каждого вызова создавать свой поток ?


clickmaker   (2008-04-11 11:32:00) [4]


> Как обрубить выполнение такого метода ?

если он не в отдельном потоке, то никак. TaskManager - kill process, разве что


Наверх

Титульная страница Поиск, карта сайта Написать письмо