Вобщем сама процедура должна подавать на порт 888 попеременно 255 и 0. Включение и отключение одной кнопкой. В режиме отладки всё нормально, а как запускаю то получается что первый сигнал подаётся, а потом... фигня какаято
Я думаю вся ошибка из-за:
begin:
button3.Caption:='Off';
clipping:=true;
while clipping do
begin
out32(888,255);
sleep(100);
application.ProcessMessages;
out32(888,0);
end;
end;
out32(888,0);-нет задержки, идёт сразу
out32(888,255);=> не изменяет состояние.
- код сырой, тк писал без Delphi...
Var
SendMM: Boolean; // Глобальная переменная
...
Procedure TXXX.Timer1.Timer(Sender: TObject);
Begin
SendMM := Not SendMM; // Изменяем состояние флага
If SendMM Then // В зависимости от него, за одно срабатывание таймера, устанавливаем нужное значение...
out32(888,255)
Else
out32(888,0);
End;