Вот есть собственно прога которая работает в асх. режиме с модемом. и имеет не большой парсер строк(сам он нужен для того чтоб можна было ожидать данние по некому формату). Так вот когда основную часть программи проходишь под отладчиком, то все ок! А когда запускаешь ее саму выполняться то нифига((( вот код основной программы: Код (Text): //модем подключен через блютуз //заполняет структуру info, токо когда под отладчиком все здесь выполнить //даже если розкоментировать sleep не помагает*( // if Modem_.terminated_ then exit; ///sleep(100); Modem_.WritePort('AT+CGMI'#13); //команда получения производителя тел. if Modem_.Reader_.WaitDataOne('OK',10) then Modem_.Reader_.GetAnsw(1,info.Proizvoditel); ///sleep(100); Modem_.WritePort('AT+GMM'#13); //модель if Modem_.Reader_.WaitDataOne('OK',10) then Modem_.Reader_.GetAnsw(1,info.model); ///sleep(100); Modem_.WritePort('AT+CGSN'#13); //имей if Modem_.Reader_.WaitDataOne('OK',10) then Modem_.Reader_.GetAnsw(1,info.IMEI); Working:=true; полный исходний код я прикрепил к теме, задавал этот вопрос уже на исходниках: http://forum.sources.ru/index.php?showforum=12 но безрезультатно(((
Ставил Sleep не помагает((( Да и там стоит функ. ожидания данних от модема. работает она так: Она проверяет буффер в которой записуетються все данние от модема, а потом если находить в том что записала текст "'OK'" возвращает управление. так что теоритически здесь не надо Sleep, но я всеж ставил не помагает...
Ни фига в том что почему то все функ. ожидания не работают, тоесть такое чуство как бутто модем просто ни чего не отвечает! хотя я делал у функ. для чтения спецально запись всего того что она прочитала так в файле все данные были!
Сами по себе команды модем быстро выполняет и задержка на их выполнение не может быть больше 100милисекунд
Как мне кажеться дело тут наверно в том что. функ. чтения и записи работают в отдельних потоках. и когда я например вызываю функ. ожидания данных в данном случаии WaitDataOne(которая ждет пока мы не прочитаем указаное слово) то происходить блокировка доступа наверно к переменной buffer в котору идет запись данных. хотя вот почитав про потоки подробней я в этом тоже не очень уверен(((