Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - i0

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

errorlog.txt:
Code: [Select]
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 и строки
« on: July 01, 2018, 08:51:17 AM »
Code: (clickermann) [Select]
$sVar1="abcdefgh"
define($sVar2)
setvar("$sVar2", strconcat(" ", $sVar1))
$sAnswer= dialogbox("breakpoint", 0, 0)
if ($sVar2 ! " abcdefgh")
   print("i dunno")   
else
   print("string")   
end_if
$sAnswer= dialogbox("breakpoint", 0, 0)
halt
setvar помещает в переменную значение "без типа", несмотря на явное использование strconcat
и на этапе проверки получаем ошибку сравнения
соответственно, приходится после setvar впихивать жёсткую строку $sVar2= strconcat($sVar2), убивающую идею использования setvar :(

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

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

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

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

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

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

[spoiler]
Code: (clickermann) [Select]
#name "errortest"
#logfile
$nAnswer= dialogbox("наведите курсор на окно, привязываюсь", 0)
$hWND= hget($_xmouse,$_ymouse)
hset($hWND,1)
hintpopup("привязался")

wndgetinfo($hWND, $nWPosX, $nWPosY, $nWWidth, $nWHeigth)
logwrite("1. hWND=", $hWND, " nWPosX=", $nWPosX, " nWPosY=", $nWPosY, " nWWidth=", $nWWidth, " nWHeigth=", $nWHeigth)
getscreen(100, 100, 200, 200)
screenshotex(100, 100, 200, 200)
if_picture_in(100, 100, 200, 200, "check.bmp")
logwrite("есть фрагмент")
else
logwrite("нет фрагмента")
end_if

keypress(#f5) // имитируем слёт флеш-плагина перезагрузкой страницы
wait(3)

wndgetinfo($hWND, $nWPosX, $nWPosY, $nWWidth, $nWHeigth)
logwrite("2. hWND=", $hWND, " nWPosX=", $nWPosX, " nWPosY=", $nWPosY, " nWWidth=", $nWWidth, " nWHeigth=", $nWHeigth)
if_picture_in(100, 100, 200, 200, "check.bmp")
logwrite("есть фрагмент")
else
logwrite("нет фрагмента")
end_if
getscreen(100, 100, 200, 200)
screenshotex(100, 100, 200, 200)

hset($hWND,0)
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"
« on: April 26, 2017, 06:13:40 PM »
прошу дополнить директиву #logfile возможностью задать имя и расширение файла-лога

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

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

Code: (clickermann) [Select]
// уровни логирования
#define @LOG_NO : 0
#define @LOG_FATAL : 2
#define @LOG_ERROR : 3
#define @LOG_WARN : 4
#define @LOG_INFO : 5
#define @LOG_TRACE : 6
#define @LOG_DEBUG : 7
#define @LOG_ALL : 9
$aLogLvls[0]= "   NO"
$aLogLvls[1]= "   NO"
$aLogLvls[2]= "FATAL"
$aLogLvls[3]= "ERROR"
$aLogLvls[4]= " WARN"
$aLogLvls[5]= " INFO"
$aLogLvls[6]= "TRACE"
$aLogLvls[7]= "DEBUG"
$aLogLvls[8]= "  ALL"
$aLogLvls[9]= "  ALL"

//  Log – выводит (или нет) сообщение в файл $sLogName в зависимости
//  от установленного уровня логирования $nLogLevel и уровня сообщения $nMessageLvl
sub(Log, $nMessageLvl, $sMessage)
   if ($nMessageLvl > $nLogLevel)
   else
      $sDate=$_date_y
      lpad($_date_m, 2, "0")
      $sDate=strconcat($sDate,"-",$_return)
      lpad($_date_d, 2, "0")
      $sDate=strconcat($sDate,"-",$_return)
     
      lpad($_time_h, 2, "0")
      $sTime=$_return
      lpad($_time_m, 2, "0")
      $sTime=strconcat($sTime,":",$_return)
      lpad($_time_s, 2, "0")
      $sTime=strconcat($sTime,":",$_return)
     
      tfwrite($sLogName, strconcat($sTime," ",$sDate," (",$aLogLvls[$nMessageLvl],") ",$sMessage))
      // дубль в обычный лог кликера, предполагается что #logfile не включена
      logwrite($sDate, " (",$aLogLvls[$nMessageLvl],") ",$sMessage)
      undefine($_return)
      undefine($sDate)
      undefine($sTime)
   end_if
end_sub //==> Log
// псевдонимы
#define Log.fatal( : Log(@LOG_FATAL,
#define Log.error( : Log(@LOG_ERROR,
#define Log.warn( : Log(@LOG_WARN,
#define Log.info( : Log(@LOG_INFO,
#define Log.trace( : Log(@LOG_TRACE,
#define Log.debug( : Log(@LOG_DEBUG,
[/spoiler]

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

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

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

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

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

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

13
[offtop]спасибо Vint-у за притчу-быль, так всё и есть
"от склада ума зависит" +100500
читаю некоторые "ТЗ" и бегу от новичков как чёрт от ладана, а в ВК даж боюсь заглядывать[/offtop]

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

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

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

Pages: [1] 2 3