![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.09.2011
Сообщений: 3
|
![]()
Доброго времени суток;
Возникла проблема которую не могу решить. Есть ряд функций из DLL (работа с внешним usb устройством) которые вызываются из созданного потока В определенные промежутки времени, эти же функции мне необходимо вызывать и из основного потока. Т.е. в основном потоке необходимо переключать устройство на управление, при этом не мешая другому потоку читать данные из устройства. Я пробую просто приостанавливать созданный поток, выполнять мне необходимые действия с устройством, и возобновляю поток. Прогр. зависает во время выполнения кода основного потока между suspend и resume если между ними находится любая функция из импортируемой DLL. Если же поток не приостанавливать, то функции отрабатывают, но передаваемые устройству данные в потоке могут быть восприняты как управляющие. Теперь из того что вообще не понятно: Код успешно работает на моем компе, проверял, код между suspend и resume выполняется, проверял сто раз. При подключении этого же USB устройства к другому компу, этот же код зависает на вызове функции между вызовами suspend и resume Код:
Os Win8, RAD XE2 Последний раз редактировалось Stilet; 26.11.2013 в 21:48. |
![]() |
![]() |
![]() |
#2 |
Регистрация: 09.09.2011
Сообщений: 3
|
![]()
Почитал что Suspend и Resume - зло.
Решил проблему: вынес 2 функции FT_W32_EscapeCommFunction и FT_W32_WriteFile в отдельную процедуру и вызываю ее из основного и из дополнительного потоков, использование критической секции в этой процедуре гарантирует выполнение функций поочередно. Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с вызовом функции | Terikon | JavaScript, Ajax | 6 | 17.10.2013 19:11 |
ошибка в макросе с вызовом функций длл | norvik | Microsoft Office Excel | 2 | 22.07.2012 02:33 |
Проблема с вызовом | Юлия_utcit | HTML и CSS | 0 | 03.01.2011 23:00 |
Проблема с вызовом динамической DLL | SkAndrew | Общие вопросы Delphi | 12 | 12.03.2010 07:59 |
Реализация функций синхронизации потоков. | натка | Помощь студентам | 1 | 03.01.2008 15:26 |