Автокликер Clickermann :: Форум
Основной раздел => Ошибки => Topic started by: Луций on January 11, 2015, 04:14:38 AM
-
пишешь такой скрипт пишешь, окно сворачиваешь, тестишь, разворачиваешь
и тут бац - кликерман пропадает с панели задач
вызываешь его из трея, открываешь редактор - а кода, что ты писал с момента последнего сохранения - как и небыло
жутко бесит
-
Что-то сам намудрил. Никогда такого не было.
Может понаоткрывал копий?
-
пишешь такой скрипт пишешь, окно сворачиваешь, тестишь, разворачиваешь
и тут бац - кликерман пропадает с панели задач
вызываешь его из трея, открываешь редактор - а кода, что ты писал с момента последнего сохранения - как и небыло
жутко бесит
Вот и у меня такой глюк на ХР, ранее такого не было. Сворачивать теперь боюсь, вываливается, а из трея возврат с потрепаным скриптом.... Первый раз чуть не тронулся, скрипт весь вечер стряпал, сохранил, потом подвис - снова пересохранил и вышел(не обратил внимания что скрипт преобразовался). На следующий день перерыл все папки в поисках куда пихнул последний рабочий вариант - не нашел.... Но за пару дней все выяснилось, а следствием чего стало - не понять. Единственная явная причина - сворачивание окна и его восстановка.
Со сворачиванием окна и его восстановкой, чесно говоря, я как то заметил и в версии 4.10, тогда долго не мог понять почему не всплывает окно если его развернуть. Танци с бубном.... а топом сворачивая все программы - обнаружил прогу свернутой в нижнем левом углу рабочего стола (по ходу пряталась :-)). Неудобно - но свыкся, теперь ко всему еще добавилась новая мулька с пропаданием последних изменений скрипта.
Поправьте пожалуйста.
-
Да, есть такой косяк со сворачиванием окна редактора: по аналогии с MDI (multi document interface) окно сворачивается в нижний левый угол родительского окна.
Видимо окно редактора создано, как дочернее по отношение к окну кликера, а так как окно кликера скрывается, когда открывается редактор, то возможно, что, не найдя контекст устройства окна, GDI (graphic device interface) считает, что "рабочая область" родительского окна весь экран.
Такова философия оберток для WinAPI касательно MDI. Такие же "бонусы" есть и в MFC (microsoft foundation classes).
Чтобы избавиться от казусов, связанных с дочерними и родительскими окнами в MDI, для окна редактора необходимо создать свой поток, свое окно свою процедуру обработки событий. Либо пойти другим путем: при переходе в режим редактора и обратно перестраивать интерфейс текущего окна. Оба способа тривиальны. Просто многие пользуются шаблонами IDE (integrated development environment) и базовыми классами языка, которые разрабатывались для общих штатных ситуаций :)
(http://www.picshare.ru/uploads/150317/23ooz4E14z.gif) (http://www.picshare.ru/view/6068058/)
-
Апну тему. Испортил скрипт, благодаря этому глюку. В полной мере проблема проявляется на ХР. Чтобы увидеть делаем (на ХР): открываем любой скрипт в редакторе, пишем что-нибудь, сворачиваем редактор (он падает куда-то, вроде в трей), открываем двумя щелчками из трея, смотрим. Изменения исчезли. Изменения теряются, если открывать скрипт двумя щелчками или обычным способом - через "Открыть файл".
На Вин7 проблема остается, если открыть вначале Кликермен, а в нем скрипт. Тогда все тоже самое, что и на ХР. Если же открывать скрипт двумя щелчками, то все вроде нормально, хотя полностью потестить не получилось.
Несколько открытых экземпляров программы могут обмениваться кодом редактора. Это еще один прикол.
Очень стремный глюк, на мой взгляд, если скрипт маленький заметить что-то можно, но когда большая портянка...
Рекомендация: работать ТОЛЬКО в одном экземпляре программы, НЕ сворачивать окно редактора (да и лучше вообще не сворачивать ничего в проге), делать резервные копии.
-
Нужно отключить сворачивание в трей к чёртовой матери. Я это сделал ещё 5 версий назад. Проблем подобных нет, хочешь сворачивай, хочешь разворачивай.
\data\config.ini
only_tray = 0
-
To Vint: не в этом дело, это не решает траблу. Только что проверил, only_tray = 0 не влияет на баг.
-
To Vint: не в этом дело, это не решает траблу. Только что проверил, only_tray = 0 не влияет на баг.
Всегда после изменений в скрипте нажимай ПРИМЕНИТЬ! Этим ты даешь кликеру команду проглотить код в память. А потом можешь уже и сворачивать.
-
Да, косяк есть. Не натыкался, т.к. "применить" жму на автомате.
Но лучше исправить.