Странний ефект(прога под отладчиком работает, а сама нет)

Тема в разделе "WASM.BEGINNERS", создана пользователем XshStasX, 30 май 2009.

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Вот есть собственно прога которая работает в асх. режиме с модемом.
    и имеет не большой парсер строк(сам он нужен для того чтоб можна было ожидать данние по некому формату).
    Так вот когда основную часть программи проходишь под отладчиком, то все ок!
    А когда запускаешь ее саму выполняться то нифига(((
    вот код основной программы:
    Код (Text):
    1. //модем подключен через блютуз
    2. //заполняет структуру  info, токо когда под отладчиком все здесь выполнить
    3. //даже если розкоментировать sleep не помагает*(
    4. //
    5. if Modem_.terminated_ then exit;
    6. ///sleep(100);
    7. Modem_.WritePort('AT+CGMI'#13); //команда получения производителя тел.
    8. if Modem_.Reader_.WaitDataOne('OK',10) then
    9.  Modem_.Reader_.GetAnsw(1,info.Proizvoditel);
    10. ///sleep(100);
    11. Modem_.WritePort('AT+GMM'#13);  //модель
    12. if Modem_.Reader_.WaitDataOne('OK',10) then
    13.  Modem_.Reader_.GetAnsw(1,info.model);
    14. ///sleep(100);
    15. Modem_.WritePort('AT+CGSN'#13);  //имей
    16. if Modem_.Reader_.WaitDataOne('OK',10) then
    17.  Modem_.Reader_.GetAnsw(1,info.IMEI);
    18.  Working:=true;
    полный исходний код я прикрепил к теме, задавал этот вопрос уже на исходниках: http://forum.sources.ru/index.php?showforum=12
    но безрезультатно(((
     
  2. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Если нету ответа на вопрос, то скажите хотя б у вас тож так работает?
     
  3. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    Sleep после WritePort попробуй поставить
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Что это значит, в чём выражается ?
     
  5. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Ставил Sleep не помагает(((
    Да и там стоит функ. ожидания данних от модема. работает она так:
    Она проверяет буффер в которой записуетються все данние от модема, а потом если находить в том что записала текст "'OK'" возвращает управление.
    так что теоритически здесь не надо Sleep, но я всеж ставил не помагает...
     
  6. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Ни фига в том что почему то все функ. ожидания не работают, тоесть такое чуство как бутто модем просто ни чего не отвечает!
    хотя я делал у функ. для чтения спецально запись всего того что она прочитала так в файле все данные были!
     
  7. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Сами по себе команды модем быстро выполняет и задержка на их выполнение не может быть больше 100милисекунд
     
  8. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Как мне кажеться дело тут наверно в том что.
    функ. чтения и записи работают в отдельних потоках.
    и когда я например вызываю функ. ожидания данных в данном случаии
    WaitDataOne(которая ждет пока мы не прочитаем указаное слово)
    то происходить блокировка доступа наверно к переменной buffer в котору идет запись данных. хотя вот почитав про потоки подробней я в этом тоже не очень уверен(((