Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VAST: serial port

4 views
Skip to first unread message

Maxim Annenkov

unread,
Jul 8, 2005, 11:05:10 AM7/8/05
to

Привет,

Пытаюсь из VAST'a заюзать com port. В примерах вроде недостатка нет и даже
кое что
работает. Проблема в том, что если в порту нет данных или их меньше чем
запрошено имидж виснет намертво, fork не помогает.

Читаю таким образом:
buffer := String new: 100.
readCount := deviceFile read: buffer
startingAt: 1
nbyte: 100.


Victor Metelitsa

unread,
Jul 8, 2005, 12:11:43 PM7/8/05
to
Если посмотрите через google пример с
моей фамилией в ibm-овской ньюсгруппе, я
там ставлю таймаут в секунду, после
чего ожидание завершается. Мне этого
было достаточно, чтобы построить
сервис, взаимодействующий с ULC.

"Окончательное решение" же - заменить
синхронный вызов функции на
асинхронный.

Maxim Annenkov

unread,
Jul 8, 2005, 12:49:03 PM7/8/05
to
"Victor Metelitsa" <vvm4...@zsavs.ru> wrote in message
news:1120839072....@f14g2000cwb.googlegroups.com...

> Maxim Annenkov wrote:
>> Привет,
>>
>> Пытаюсь из VAST'a заюзать com port. В примерах вроде недостатка нет и
>> даже
>> кое что
>> работает. Проблема в том, что если в порту нет данных или их меньше чем
>> запрошено имидж виснет намертво, fork не помогает.
>>
>> Читаю таким образом:
>> buffer := String new: 100.
>> readCount := deviceFile read: buffer
>> startingAt: 1
>> nbyte: 100.
> Если посмотрите через google пример с
> моей фамилией в ibm-овской ньюсгруппе, я
Именно оттуда я все примеры и взял :)

> там ставлю таймаут в секунду, после
> чего ожидание завершается. Мне этого

Ставлю таймауты как у тебя - все виснет в глухую.

> "Окончательное решение" же - заменить
> синхронный вызов функции на
> асинхронный.

Да, я тоже об этом думаю.


victor metelitsa

unread,
Jul 10, 2005, 11:50:56 AM7/10/05
to
Maxim Annenkov wrote:
> "Victor Metelitsa" <vvm4...@zsavs.ru> wrote in message
[...]

>
>>там ставлю таймаут в секунду, после
>>чего ожидание завершается. Мне этого
>
> Ставлю таймауты как у тебя - все виснет в глухую.
>
Оно не должно виснуть вглухую, потому что - стандартная функция Windows.
Но код должен быть в отдельной нити на самом низком приоритете. Может,
еще (Delay ненулевая задержка) wait в цикле попускать после каждого
чтения, чтобы прочим процессам дать дорогу.

--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru

0 new messages