Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - i0

Страницы: [1] 2 3
1
Ошибки / Out of system resources
« : Ноябрь 12, 2018, 12:18:20 am »
на клиентском ноуте clickermann 4.13.003 перестал работать с неделю назад (после очередного обновления win10, вероятно).
окно кликера открывается, но в верхней строке окна кликера нет надписи Clickermann, и скрипты не запускаются.
папка кликера внесена в исключения антивируса, все нужные файлы на месте, для верности скопировал со своего компа.

errorlog.txt:
11.11.2018 23:05:04 Out of system resources
11.11.2018 23:05:04 Language file error
11.11.2018 23:05:09 Access violation at address 00596F87 in module 'Clickermann.exe'. Read of address 00000018

4.13.014 распакованная из авторского архива не работает ровно с теми же симптомами

при этом 4.12.001 работает без проблем

куда копать?

2
запуск с ключом --disable-legacy-window позволяет без танцев с хэндлами привязываться к окну по alt-w.
НО. окно браузера начинает моргать с непозволительной частотой.
моргание вызвано прорисовкой стандартного виндового заголовка окна и последующим его скрытием хромом (для экономии места на экране, ага). и так по кругу.
во многих программах есть опция "системное оформление окна/собственное", думаю, если включить в хроме системное - и моргание пропадёт.
если кто знает/найдёт такой переключатель в хромиум-браузерах, отпишитесь, плз.

3
Ошибки / setvar и строки
« : Июль 01, 2018, 08:51:17 am »
Код: Clickermann
  1. $sVar1="abcdefgh"
  2. define($sVar2)
  3. setvar("$sVar2", strconcat(" ", $sVar1))
  4. $sAnswer= dialogbox("breakpoint", 0, 0)
  5. if ($sVar2 ! " abcdefgh")
  6.   print("i dunno")  
  7. else
  8.   print("string")  
  9. end_if
  10. $sAnswer= dialogbox("breakpoint", 0, 0)
  11. halt
setvar помещает в переменную значение "без типа", несмотря на явное использование strconcat
и на этапе проверки получаем ошибку сравнения
соответственно, приходится после setvar впихивать жёсткую строку $sVar2= strconcat($sVar2), убивающую идею использования setvar :(

4
мне стыдно просить у Джонни всякую мелкую нужную фигню типа ltrim, rpad или сортировку 2мерного массива
очень хочется увидеть в будущей версии. ждать, или это сложнореализуемо?

(а 4.13 жду релиза на днях, тоже очень)

5
добавьте в файл констант:
Код: Clickermann
  1. Левая кнопка мыши #LBUTTON 01 0x01
  2. Правая кнопка мыши #RBUTTON 02 0x02
  3. Средняя кнопка мыши (колесо) #MBUTTON 04 0x04
  4. кнопка X1 мыши #X1BUTTON 05 0x05
  5. кнопка X2 мыши #X2BUTTON 06 0x06
  6.  
и ещё (уже кто-то писал раньше)  в файле отсутствует указанная в хелпе константа:
Код: Clickermann
  1. Pause #PAUSE 19 0x13

6
пытаюсь анализировать в скрипте наличие файла, ставлю задержки, но пару раз в неделю нарываюсь на подобные сообщения
можно это поправить? пусть -1 возвращает что ли

7
задачка
дано:
- в браузере всю страницу занимает игровое флеш-окно
- кликер привязан к флеш-окну и в нём прекрасно работает с анализом картинок (кликер видит флеш)
- как и положено флешу, флеш изредка слетает, и окно, к которому привязан кликер, перестаёт существовать

спрашивается: как распознавать данную ситуацию?

[spoiler]
Код: Clickermann
  1. #name "errortest"
  2. #logfile
  3. $nAnswer= dialogbox("наведите курсор на окно, привязываюсь", 0)
  4. $hWND= hget($_xmouse,$_ymouse)
  5. hset($hWND,1)
  6. hintpopup("привязался")
  7.  
  8. wndgetinfo($hWND, $nWPosX, $nWPosY, $nWWidth, $nWHeigth)
  9. logwrite("1. hWND=", $hWND, " nWPosX=", $nWPosX, " nWPosY=", $nWPosY, " nWWidth=", $nWWidth, " nWHeigth=", $nWHeigth)
  10. getscreen(100, 100, 200, 200)
  11. screenshotex(100, 100, 200, 200)
  12. if_picture_in(100, 100, 200, 200, "check.bmp")
  13. logwrite("есть фрагмент")
  14. else
  15. logwrite("нет фрагмента")
  16. end_if
  17.  
  18. keypress(#f5) // имитируем слёт флеш-плагина перезагрузкой страницы
  19. wait(3)
  20.  
  21. wndgetinfo($hWND, $nWPosX, $nWPosY, $nWWidth, $nWHeigth)
  22. logwrite("2. hWND=", $hWND, " nWPosX=", $nWPosX, " nWPosY=", $nWPosY, " nWWidth=", $nWWidth, " nWHeigth=", $nWHeigth)
  23. if_picture_in(100, 100, 200, 200, "check.bmp")
  24. logwrite("есть фрагмент")
  25. else
  26. logwrite("нет фрагмента")
  27. end_if
  28. getscreen(100, 100, 200, 200)
  29. screenshotex(100, 100, 200, 200)
  30.  
  31. hset($hWND,0)
  32. halt
[/spoiler]

4.11.003, skip_error=0 лог:
13:25:19 1. hWND=8848364 nWPosX=1920 nWPosY=54 nWWidth=1280 nWHeigth=940
13:25:19 есть фрагмент
13:25:23 2. hWND=8848364 nWPosX=4300968 nWPosY=42588832 nWWidth=4547396 nWHeigth=-42588832
13:25:23 есть фрагмент
после чего появляется окно ошибки
второй скриншот не создаётся

4.11.003, skip_error=1 
if_picture_in так же находит фрагмент после уничтожения окна
окна ошибки нет
второй скриншот не создаётся

4.13b2, skip_error=0
if_picture_in так же находит фрагмент после уничтожения окна
окна ошибки нет
второй скриншот создаётся, там сплошная чернота
(кстати, если не ограничивать область, это хороший способ подвесить комп, раз уж мой любимый load в 4.13 Джони выпилил)

так как распознавать ситуацию уничтожения связанного окна?
я ничего лучшего чем сделать sub-обёртку для if_picture_in не придумал, но это как-то очень удручает

8
Предложения / #logfile "name.ext"
« : Апрель 26, 2017, 06:13:40 pm »
прошу дополнить директиву #logfile возможностью задать имя и расширение файла-лога

меня категорически не устраивает "log.txt", потому что имя единое для всех скриптов, а расширение - левое, к нему неудобно ассоциировать внешний лог-вьюер

[spoiler]ну да, каждый из "освоившихся" может сделать запись в свой лог с помощью tfwrite,
и будет у каждого своя система логирования с блекджеком и стрконкатами

Код: Clickermann
  1. // уровни логирования
  2. #define @LOG_NO : 0
  3. #define @LOG_FATAL : 2
  4. #define @LOG_ERROR : 3
  5. #define @LOG_WARN : 4
  6. #define @LOG_INFO : 5
  7. #define @LOG_TRACE : 6
  8. #define @LOG_DEBUG : 7
  9. #define @LOG_ALL : 9
  10. $aLogLvls[0]= "   NO"
  11. $aLogLvls[1]= "   NO"
  12. $aLogLvls[2]= "FATAL"
  13. $aLogLvls[3]= "ERROR"
  14. $aLogLvls[4]= " WARN"
  15. $aLogLvls[5]= " INFO"
  16. $aLogLvls[6]= "TRACE"
  17. $aLogLvls[7]= "DEBUG"
  18. $aLogLvls[8]= "  ALL"
  19. $aLogLvls[9]= "  ALL"
  20.  
  21. //  Log – выводит (или нет) сообщение в файл $sLogName в зависимости
  22. //  от установленного уровня логирования $nLogLevel и уровня сообщения $nMessageLvl
  23. sub(Log, $nMessageLvl, $sMessage)
  24.   if ($nMessageLvl > $nLogLevel)
  25.   else
  26.      $sDate=$_date_y
  27.      lpad($_date_m, 2, "0")
  28.      $sDate=strconcat($sDate,"-",$_return)
  29.      lpad($_date_d, 2, "0")
  30.      $sDate=strconcat($sDate,"-",$_return)
  31.  
  32.      lpad($_time_h, 2, "0")
  33.      $sTime=$_return
  34.      lpad($_time_m, 2, "0")
  35.      $sTime=strconcat($sTime,":",$_return)
  36.      lpad($_time_s, 2, "0")
  37.      $sTime=strconcat($sTime,":",$_return)
  38.  
  39.      tfwrite($sLogName, strconcat($sTime," ",$sDate," (",$aLogLvls[$nMessageLvl],") ",$sMessage))
  40.      // дубль в обычный лог кликера, предполагается что #logfile не включена
  41.      logwrite($sDate, " (",$aLogLvls[$nMessageLvl],") ",$sMessage)
  42.      undefine($_return)
  43.      undefine($sDate)
  44.      undefine($sTime)
  45.   end_if
  46. end_sub //==> Log
  47. // псевдонимы
  48. #define Log.fatal( : Log(@LOG_FATAL,
  49. #define Log.error( : Log(@LOG_ERROR,
  50. #define Log.warn( : Log(@LOG_WARN,
  51. #define Log.info( : Log(@LOG_INFO,
  52. #define Log.trace( : Log(@LOG_TRACE,
  53. #define Log.debug( : Log(@LOG_DEBUG,
  54.  
[/spoiler]

9
Прочее / раздел Ошибки
« : Март 29, 2017, 05:52:38 pm »
если переименовать его в "баг-репорты", количество левых тем в нём резко сократится. я гарантирую это.

10
Прочее / тяжко!
« : Март 15, 2017, 10:15:48 pm »
у меня проект разросся сильно. и начали раздражать 2 момента:
- минное поле при написании библиотек из-за отсутствия локальных переменных
- снижение читабельности из-за множества лишних строк кода, вызванных особенностястями синтакстиса (нет возврата значений из ф-ций, нет тернарных операторов, нет многомерности массивов, нет символа продолжения строки кода)

хочу услышать мнения/советы корифеев (исключительно), делавших большие практические скрипты на cmann

11
объяснений не требует же?

12
Прочее / подсветка для sublime text&
« : Сентябрь 28, 2016, 03:31:47 pm »
А может делал кто подсветку для саблайма? ну, вдруг есть такой шизанутый  ::)

а то попробовал его для автоита, понравилось, но хочется единообразия

13
Прочее / Для тех кто хочет помогать другим...
« : Сентябрь 22, 2016, 10:12:10 am »
[offtop]спасибо Vint-у за притчу-быль, так всё и есть
"от склада ума зависит" +100500
читаю некоторые "ТЗ" и бегу от новичков как чёрт от ладана, а в ВК даж боюсь заглядывать[/offtop]

14
Предложения / checkbox (и переделать бы radiobox)
« : Сентябрь 01, 2016, 01:22:23 pm »
ага, я свистелку хочу попросить)
в дополнение к появившемуся в 4.12 radiobox-у хочется и checkbox
только список не параметрами через запятую, а массивом.

ну и имхо в radiobox тоже надо массивом набор эл-тов передавать (иначе неудобно делать выбор из списка, считанного из файла)

15
Предложения / #logwrite "filename.ext"
« : Август 05, 2016, 08:31:21 am »
конечно, могу и сам создавать файл лога с произвольным именем с помощью strwriteln, но зачем тогда эта директива?

Страницы: [1] 2 3