Что нового

[Автоматизация] Добавить бесконечный цикл для беспрерывной работы программы

MaximVash

Новичок
Сообщения
3
Репутация
0
Версия AutoIt: v3.3.14.2

Описание: Добрый день! Надеюсь на вашу помощь.
Есть готовая программа. Всё работает отлично, но после выполнения задач она закрывается. Мне нужно чтобы она не закрывалась, а работала в бесконечном цикле без моего вмешательства. Не знаю что нужно прописать и в каком именно месте.
 

Вложения

  • 45,2 КБ Просмотры: 16

Malderin

Новичок
Сообщения
59
Репутация
1
Почти 6500 строк кода, даже страшно запускать такую программу :smile:
Обычно чтобы программа не останавливалась в не добавляют бесконечный цикл, например:
Код:
While 1
	Sleep(1000)
WEnd

Но проверять на вашей программе мне что то не очень хочется, попробуйте сами.
Или же можно добавить
Код:
While 1

в начале программы, а
Код:
Sleep(1000)
WEnd

в конце.
 
A

Alofa

Гость
MaximVash сказал(а):
... Есть готовая программа. Всё работает отлично, но после выполнения задач она закрывается...
Что за программа и что за задачи она выполняет.
OffTopic:
P.s: похоже что она декомпилирована.
 

sergioz

Знающий
Сообщения
39
Репутация
5
необходимо заменить кусок кода (6014 строка)
Код:
Dim $digital_check3[37]
$hfile = FileOpen(@ScriptName, 1)

на
Код:
Dim $digital_check3[37]
while 1
$hfile = FileOpen(@ScriptName, 1)

и (6122 строка)
Код:
Next
Func street()

на
Код:
Next
wend
Func street()
 
Автор
M

MaximVash

Новичок
Сообщения
3
Репутация
0
sergioz сказал(а):
необходимо заменить кусок кода (6014 строка)

Вот это я и хотел увидеть. Спасибо, что подробно расписали где и что поменять. Как протестирую, отпишусь.


Добавлено:
Сообщение автоматически объединено:

Заменил кусок кода. Протестировал.
У меня сейчас не доходит даже до того момента, когда закрывалась программа. Почему то именно на 4-ом числе вылазит ошибка : "The reguested action with object has failed. Line 5200" . Не могу понять почему именно строка 5200.
 

sergioz

Знающий
Сообщения
39
Репутация
5
5160-5302 - у тебя идет объявление констант, тут ошибки быть не может.
запусти прогу из редактора по F5 , тогда тебе ошибку покажет какую и номер строки кода даст
 
Автор
M

MaximVash

Новичок
Сообщения
3
Репутация
0
Спасибо за подсказку о запуске в редакторе! Вот что выдало:
(5570) : ==> The requested action with this object has failed.:
$value = $oexcel.activesheet.cells($srangeorrow, $icolumn).value
$value = $oexcel.activesheet^ ERROR

Предположил, что проблема с моим excel-ким файлом. Создал новый - не помогло. Почему то именно на 4-ое число вылазит эта ошибка.
 

ra4o

AutoIT Гуру
Сообщения
1 101
Репутация
223
Если Ваш скрипт работает так, как Вам нужно, то проще не править его, а скомпилировать и написать другой скрипт на пару строк, который будет запускать Ваш первый в цикле, как-то так :
Код:
$MyProgramm = @ScriptDir&'\ProgramName.exe';здесь путь и имя скомпилированного скрипта
While 1
	RunWait($MyProgramm)	
WEnd
 
Верх