Доброго времени суток господа! Имеется программа передачи данных по LPT порту для Win XP. Все работает, данные передаются, но проблема в том что когда клиент не отвечает программа переходит в режим ожидания клиента (в данном случае бесконечный цикл). Необходимо сделать так, чтобы программа останавливалась и выходила по кнопке "Выход". Если программа в бесконечном цикле, то на кнопку она не реагирует. Проект если что скину. Заранее благодарен !!! procedure TForm1.Button2Click(Sender: TObject); begin memo2.clear; ProgressBar1.position:=0; Label6.Caption:=inttostr(0); Label4.Caption:=inttostr(0); { for i:=1 to 100000 do symv:='';} AssignFile(f,paramStr(1)); reset(F); i:=0; flag:=true; while not EOF(F) and flag=true do begin read(f,ch); // Memo1.Text:=memo1.Text+c; if ch<>#10 then begin if ((symv[i-3]<>'M') or (symv[i-2]<>'0') or (symv[i-1]<> '2')) then begin symv:=ch; inc(i); end else begin flag:=false;{----------------------------------------------------------} symv:=#13; inc(i); end; end; end; p:=i; ProgressBar1.max:=p; Label6.Caption:=inttostr(round(i/1000)); for i:=0 to p-1 do//while not EOF(F) do begin repeat if not(d) then Label2.Font.Color:=clred; Label2.Caption:= 'Ожидание готовности станка'; Application.ProcessMessages(); d:=pin10; // delayUS(300); Until (d); ProgressBar1.position:=i; Label4.caption:=inttostr(round(i/p )); if symv<>#13 then Begin {***************************** Отправка данных ********************************} Закрыть _________________