![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Egor |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вобщем сама процедура должна подавать на порт 888 попеременно 255 и 0. Включение и отключение одной кнопкой. В режиме отладки всё нормально, а как запускаю то получается что первый сигнал подаётся, а потом... фигня какаято
![]() Код procedure TForm1.Button3Click(Sender: TObject); begin if clipping then begin button3.Caption:='On'; clipping:=False; exit; end else begin button3.Caption:='Off'; clipping:=true; while clipping do begin out32(888,255); sleep(100); application.ProcessMessages; out32(888,0); end; end; end; |
![]() ![]() |
#$# PaVeL #$# |
![]() ![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 91 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Я думаю вся ошибка из-за:
begin: 1) Цикл в кнопке - Это очень ПЛОХО, как останавливать его собираешься, когда он не закончился!?! 2) тем более после out32(888,0);-нет задержки, идёт сразу out32(888,255);=> не изменяет состояние. Предлагаю попробовать через таймер: Кнопка - запускает и останавливает таймер, а таймер (с интервалом 100 мс): - код сырой, тк писал без Delphi... ![]() |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 9:21 |