Author Topic: Подпрограммы через подключение файла  (Read 4780 times)

0 Members and 1 Guest are viewing this topic.

mjkl

  • Освоившийся
  • **
  • Posts: 38
    • View Profile
В файл записано несколько подпрограмм (сабов), которые посредством #include подлючены в главный сценарий (первой строкой сценария). Вызов сабов происходит ниже в теле сценария с многими повторениями. Во время обработки команды WAIT с тела сабов, довольно редко, но всё же КМ зависает. Не буквально - чтение сценария можно прервать, или поставить на паузу, после продолжения он все равно "стоит" на той команде. Приходится останавливать и запускать сценарий с места "зависания". Даная проблема не проявлялась, после непосредсвенного внесения сабов в тело главного сценария. КМ 4.10.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
какие значения прописываете? может большие значения в WAITMS ?
имею инклуд с 11 сабами в 400 строк ничего не глючит
работает 24/7

mjkl

  • Освоившийся
  • **
  • Posts: 38
    • View Profile
Мутная тема, всёравно иногда застывает во время ожидания.

Code: (clickermann) [Select]
$wr=RND(25,28)
WAIT($wr)

или

Code: (clickermann) [Select]
$wr2=30-$wr
WAIT($wr2)

может из-за цифры в значении переменной?

Помню застыло даже на
Code: (clickermann) [Select]
WAIT(1)VirtualBox XP sp3 на Win7 x32

mjkl

  • Освоившийся
  • **
  • Posts: 38
    • View Profile
Похоже проблема связанна со счетом времени самой ВМ (Virtualbox), т.к. КМ берет данные о времени из внутренних часиков ОС. Иногда ожижание в несколько сек (по сценарию) могло длится пару мин (по факту). Кто сталкивался с подобным явлением?

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
сталкивался когда ожидание в 1 час растягивалось на полтора не больше, но чтобы несколько секунд растягивались многократно это фантастика либо скудные ресурсы ВМ.

MIG29

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
Re: Подпрограммы через подключение файла
« Reply #5 on: August 02, 2014, 12:42:23 AM »
Пользуясь случаем хотел узнать у Джони ...


Сущетсвует функция wait. Если комьютер подвисает, то он не успевает выполнять команду простаивания?
Время при это увеличивается?

Стоит ли использовать самодельные кликерменовские библиотеки вида:

Code: (clickermann) [Select]
sub(name, $param1)

$var1 = $_ms + $param
while($param - $_ms)
waitms(1)
end_cyc

end_sub

Для увеличения точности отсчета или же функция wait построена подобным образом?
if_picture_in - зло