Тема: RS232 com port
Показать сообщение отдельно
Старый 02.10.2008, 15:30   #21  
Rimantas is offline
Rimantas
Участник
 
304 / 16 (1) ++
Регистрация: 30.04.2004
Адрес: Utena , Lithuania
Цитата:
Сообщение от lev Посмотреть сообщение
у нас это реализовано с помощью element.setTimeOut("GetBarcode", TimeOut);
на формах геде должно быть сканирование добавляется метод GetBarcode();
в init() формы инициализируется ком порт и выставляется таймер на просмотр метода GetBarcode();
в этом методе проверяем есть ли что в ком порте, а далле получаем штрих код, и делаем всё что нам надо.
Попробывал я по вашим советам . В init СОМ1 порт открываеться , всё как и работает , но вот в методе GetBarkod всё повеситься на Read ... . Что неправильно я здесь сделаю ?

Код :
Код:
public void init()
{
   ;
   cRez = "1";
   if ( element.args().parm() )
      cRez = element.args().parm();

   super();

   if ( cRez == "2" )
   {
      comPrt = new CommaIo( "COM1:", "r" );
      comPrt.outRecordDelimiter('\r\n');
      element.setTimeOut( "GetBarkod", 100, true );
   }
}

void GetBarkod()
{
   Container aRead;
   ;
   if ( comPrt.status() == IO_Status::Ok )
   {
      [cBarkod] = comPrt.read();
      //aRead = comPrt.read();
      //cBarkod = conpeek( aRead, 1 );
      Barkod.text( cBarkod );
      Barkod.modified();
   }
   element.setTimeOut( "GetBarkod", 100 );
}
Пробывал считать и как контейнер , и как строку . Непонимаю чего нехватает етому comPrt.read() методу ...