Author Topic: баг с откатом скрипта при сворачивании  (Read 5785 times)

0 Members and 1 Guest are viewing this topic.

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
пишешь такой скрипт пишешь, окно сворачиваешь, тестишь, разворачиваешь

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

жутко бесит

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: баг с откатом скрипта при сворачивании
« Reply #1 on: January 11, 2015, 10:55:11 AM »
Что-то сам намудрил. Никогда такого не было.
Может понаоткрывал копий?


Kubus

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
пишешь такой скрипт пишешь, окно сворачиваешь, тестишь, разворачиваешь

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

жутко бесит

Вот и у меня такой глюк на ХР, ранее такого не было. Сворачивать теперь боюсь, вываливается, а из трея возврат с потрепаным скриптом.... Первый раз чуть не тронулся, скрипт весь вечер стряпал, сохранил, потом подвис - снова пересохранил и вышел(не обратил внимания что скрипт преобразовался). На следующий день перерыл все папки в поисках куда пихнул последний рабочий вариант - не нашел.... Но за пару дней все выяснилось, а следствием чего стало - не понять. Единственная явная причина - сворачивание окна и его восстановка.

Со сворачиванием окна и его восстановкой, чесно говоря, я как то заметил и в версии 4.10, тогда долго не мог понять почему не всплывает окно если его развернуть. Танци с бубном....  а топом сворачивая все программы - обнаружил прогу свернутой в нижнем левом углу рабочего стола (по ходу пряталась :-)). Неудобно - но свыкся, теперь ко всему еще добавилась новая мулька с пропаданием последних изменений скрипта.

Поправьте пожалуйста.

ezfalcon

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Да, есть такой косяк со сворачиванием окна редактора: по аналогии с MDI (multi document interface) окно сворачивается в нижний левый угол родительского окна.

Видимо окно редактора создано, как дочернее по отношение к окну кликера, а так как окно кликера скрывается, когда открывается редактор, то возможно, что, не найдя контекст устройства окна, GDI (graphic device interface) считает, что "рабочая область" родительского окна весь экран.

Такова философия оберток для WinAPI касательно MDI. Такие же "бонусы" есть и в MFC (microsoft foundation classes).

Чтобы избавиться от казусов, связанных с дочерними и родительскими окнами в MDI, для окна редактора необходимо создать свой поток, свое окно свою процедуру обработки событий. Либо пойти другим путем: при переходе в режим редактора и обратно перестраивать интерфейс текущего окна. Оба способа тривиальны. Просто многие пользуются шаблонами IDE (integrated development environment) и базовыми классами языка, которые разрабатывались для общих штатных ситуаций  :)

« Last Edit: March 17, 2015, 01:36:51 PM by ezfalcon »

yogukum

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Апну тему. Испортил скрипт, благодаря этому глюку. В полной мере проблема проявляется на ХР. Чтобы увидеть делаем (на ХР): открываем любой скрипт в редакторе, пишем что-нибудь, сворачиваем редактор (он падает куда-то, вроде в трей), открываем двумя щелчками из трея, смотрим. Изменения исчезли. Изменения теряются, если открывать скрипт двумя щелчками или обычным способом - через "Открыть файл".

На Вин7 проблема остается, если открыть вначале Кликермен, а в нем скрипт.  Тогда все тоже самое, что и на ХР. Если же открывать скрипт двумя щелчками, то все вроде нормально, хотя полностью потестить не получилось.

Несколько открытых экземпляров программы могут обмениваться кодом редактора. Это еще один прикол.

Очень стремный глюк, на мой взгляд, если скрипт маленький заметить что-то можно, но когда большая портянка...

Рекомендация: работать ТОЛЬКО в одном экземпляре программы, НЕ сворачивать окно редактора (да и лучше вообще не сворачивать ничего в проге),  делать резервные копии.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Нужно отключить сворачивание в трей к чёртовой матери. Я это сделал ещё 5 версий назад. Проблем подобных нет, хочешь сворачивай, хочешь разворачивай.

\data\config.ini
only_tray = 0


yogukum

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
To Vint: не в этом дело, это не решает траблу. Только что проверил, only_tray = 0 не влияет на баг.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
To Vint: не в этом дело, это не решает траблу. Только что проверил, only_tray = 0 не влияет на баг.

Всегда после изменений в скрипте нажимай ПРИМЕНИТЬ! Этим ты даешь кликеру команду проглотить код в память. А потом можешь уже и сворачивать.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Да, косяк есть. Не натыкался, т.к. "применить" жму на автомате.
Но лучше исправить.