Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Многопоточное приложение  [new]
Paul Chabinsky
Member

Откуда:
Сообщений: 322
Возможно ли создать многопоточное приложение с помощью Акса(АДП вариант).
Мне нужно асинхронно вызывать метод опроса весов, чтоб не тормазил при этом сам интерфейс программы.
3 июн 04, 13:02    [719058]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение  [new]
Kelme
Member

Откуда: Riga, Latvia
Сообщений: 1488
cм. DoEvents
3 июн 04, 13:04    [719069]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
doevents тут тебе не поможет - он позволяет в определенном месте кода
уступить место для другого, но поток все равно один.
если повиснет оператор - прервется процесс опроса.

как вариант можно написать компонент-службу (отдельное приложение) которая бы постоянно была бы запущена и складывала результаты в табличку.
3 июн 04, 13:19    [719130]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
автор
чтоб не тормазил при этом сам интерфейс программы.


ИМХО - для этого DoEvents дотаточно :)
3 июн 04, 13:22    [719147]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение  [new]
Senin Viktor
Member

Откуда: Подмосковье
Сообщений: 5006
АлексейК прав, пока выполняется метод никакой Doevents не поможет ... да него еще управление да же не дошло. А вот в самом методе DoEvents не помешал бы :)
3 июн 04, 13:29    [719181]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение  [new]
Paul Chabinsky
Member

Откуда:
Сообщений: 322
В общем сделаю сервис который будет весы опрашивать и в текстовый файлик данные класть, а оттуда буду считывать аксессом... Просто опрос весов 300мс, каждую секунду... Треть всего рабочего веремени интерфейс не реагирует...

Спасибо за идеи и ответы :)
3 июн 04, 14:30    [719522]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
автор
нужно асинхронно вызывать метод опроса весов


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

В смысле интерфейса - Access, в нектором смысле, и так "многопоточен", - окна он "при помощи" Windows разрисовывает. Если ты самописный "градусник" отрисовываешь, то, как раз DoEvents поможет ему отрисовываться "синхронно" с процессом исполнения.
3 июн 04, 14:33    [719534]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение  [new]
marvan
Member

Откуда: Москва
Сообщений: 842
А если сваять две базы: одна опрашивает весы и скидывает данные через прилинкованные таблицы во вторую. Ну, а во второй сам интерфейс и таблички.
3 июн 04, 15:33    [719910]     Ответить | Цитировать Сообщить модератору
 Re: Многопоточное приложение  [new]
parteigenosse
Member

Откуда: Киев
Сообщений: 281
а собственно ничто не мешает создать самому второй поток, и третий, и сколько надо. ничего там военного нет, в молодости мы такое делали на ВБ5, и все нормально было в конце концов.
Ведь есть же возможность использовать функции ВинАПИ.
Сейчас уже не помню всех подробностей, давненько это было, если надо, могу конечно покопаться.
Граблей в многопоточности конечно много очень, с синхронизацией и реентерабельностью, но они вполне решаемы опять же с помощью АПИ, кртитческих секций, семафоров и прочего подобного.

а однопоточность ВБ приложений проявляется только в том, что там нету объекта вроде TThread ил какого нибудь CThread, и приходится все делать руками.

Зато преимуществом будет то, что ты остаешься в приложении, и есть доступ к базе и всем ее объектам
3 июн 04, 15:58    [720059]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить