Author Topic: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)  (Read 302332 times)

0 Members and 6 Guests are viewing this topic.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #30 on: January 09, 2014, 12:21:07 PM »
Удалось изолировать баг. Оказалось все дело в цикле WHILE и подпрограммы в нем. Переменная изменена но цикл не прерывается. Если же за комментировать  помехи() то все работает нормально.

Code: (clickermann) [Select]
LOGCLEAR

// Помехи
SUB(помехи)
   LOGWRITE ("ПОМЕХИ")
END_SUB

SUB(приглашение)
   LOGWRITE ("Начинаю цикл")
   $a = 0
   WHILE($a = 0)
      помехи()
      WAITMS(500)
      $a = 1
      LOGWRITE ("переменная A: ", $a)
   END_CYC
   LOGWRITE ("заканчиваю цикл")
END_SUB

приглашение()

LOGWRITE ("Конец")

HALT
« Last Edit: January 09, 2014, 02:25:53 PM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #31 on: January 09, 2014, 02:23:24 PM »
Еще один багнутый пример с циклом

Code: (clickermann) [Select]
sub(test)   
   $test = 1   
end_sub

$test = 0
while ($test = 0)   
   wait (1)
   test ()
   print ($test)
end_cyc

halt
« Last Edit: January 09, 2014, 02:27:46 PM by Oraven »

Крис Тинка

  • Активный участник
  • ***
  • Posts: 171
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #32 on: January 11, 2014, 03:13:46 PM »
Дополню: Если задать sub с параметрами, то игнорируется первая строка в цикле, начиная со второго круга.
Code: (clickermann) [Select]
sub(test,$test)
   $a = $test
   print(0)
end_sub

$a = 0
while ($a = 0)
   print(2)
   print(3)
   print(4)
   wait (1)
   test (1)
   print ($a)
end_cyc

halt
« Last Edit: January 11, 2014, 03:20:17 PM by Крис Тинка »

Крис Тинка

  • Активный участник
  • ***
  • Posts: 171
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #33 on: January 11, 2014, 05:08:00 PM »
Такая же ситуация с циклом FOR
Code: (clickermann) [Select]
$test1 = 1

sub(test,$test)
   $test1 = $test
end_sub

for ($a, $a < $test1)
   print("1 строка")
   print("2 строка")
   print("3 строка")
   waitms (200)
   test (10)
   print ($a, ":" ,$test1)
end_cyc

halt
print("1 строка") - выполняется только 1 раз и цикл не прекращается при не соблюдении условия

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #34 on: January 11, 2014, 06:21:25 PM »
с наскоку не решить, увы.
пока воздержитесь от вызова подпрограмм в цикле

mz3fedor

  • Зашел в гости
  • *
  • Posts: 8
  • Бойся ночи
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #35 on: January 12, 2014, 11:59:30 PM »
Дополню: Если поставить задержку в цикле, хоть от 1 мкс то все глюки исчезают(Если задать sub с параметрами, то игнорируется первая строка в цикле, начиная со второго круга.)
Code: (clickermann) [Select]
sub(test,$test)
   $a = $test
   print(0)
end_sub

$a = 0
while ($a = 0)
WAITMS(50)
   print(2)
   print(3)
   print(4)
   wait (1)
   test (1)
   print ($a)
end_cyc

halt

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #36 on: January 13, 2014, 12:37:39 AM »
На втором цикле выскакивает ошибка.

Code: (clickermann) [Select]
sub(test,$a1,$a2,$a3)
   print($a1)
   print($a2)
   print($a3)
end_sub

$a = 0
while ($a = 0)
   test (1,2,3)
   WAITMS(500)
   LOGWRITE ("конец")
   $a = 1
end_cyc

halt

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #37 on: January 13, 2014, 10:53:22 AM »
да все все. я уже нашел в чем ошибка, но пока понятия не имею как ее решить потмоу что ошибка в самой концепции.
еще раз. вызов подпрограммы из цикла гарантированно приведет к какой либо ошибке. держите это пока в голове.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #38 on: January 20, 2014, 06:38:45 PM »
Обнаружил новую "странность".

Скрипт
Code: (clickermann) [Select]
$a = FROMCLIP()
TOCLIP($a)
HALT

В буфер копируем
Code: [Select]
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
А в логе получаем обрезанную строку у которой в начале от куда то кавычки нарисовались  :o
Code: [Select]
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #39 on: January 28, 2014, 05:37:28 PM »
Обнаружил новую "странность".
да нет, это как раз описано. начиная с версии 4.8 максимальная длина переменной 255 символов. и числа в том числе (каламбур лол).
приведенная тобой строка-число как раз длинее, отсюда и странность.

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #40 on: January 28, 2014, 05:45:07 PM »
далее

Патч 4.9.004

- вроде бы исправляет проблему вызова подпрограмм из цикла
- добавляет screenshotex, позволяющий скриншотить отдельные области

http://rghost.net/52008255

тестим, проверяем

Крис Тинка

  • Активный участник
  • ***
  • Posts: 171
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #41 on: January 28, 2014, 06:49:23 PM »
SCREENSHOTEX - супер. Теперь можно делать заготовки картинок таким скриптом.
Code: (clickermann) [Select]
$x1 = $_xmouse
$y1 = $_ymouse
MOVE($x1 + 15, $y1 + 15)
WAITMS(50)
GETSCREEN
SCREENSHOTEX($x1, $y1, $x1 + 10, $y1 + 10, "name", 0)
HALT

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #42 on: January 28, 2014, 07:04:56 PM »
Обнаружил новую "странность".
да нет, это как раз описано. начиная с версии 4.8 максимальная длина переменной 255 символов. и числа в том числе (каламбур лол).
приведенная тобой строка-число как раз длинее, отсюда и странность.

Обрезание как раз предсказуемо, я имел ввиду "кавычки" возникающие в начале. В 4.8 такого не происходит.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #43 on: January 29, 2014, 01:12:42 PM »
Ура! Заработало, вроде.

Можно переходить на 4.9?


ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: [Alpha/Beta Testing] Clickermann 4.9+
« Reply #44 on: February 13, 2014, 07:09:33 PM »
  Пока старые скрипты 4.8 в 4.9 оживить не удалось.
 Можно ли в шапке к этой теме сделать  сообщение , как  нужно изменить прежний скрипт 4.8, чтобы он заработал в 4.9?
Или рано ?
Бабочки полёт будит тихую поляну в солнечном свету...