Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Закрытая тема
Настройки темы
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

(*.*)


Сообщения: 36561
Благодарности: 6694


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 21-01-2009
Описание: архив
Внимание!


В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема.

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно Заголовок темы должен быть осмысленным.



Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).


Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).

Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску)
(он же прикреплен в шапке)


Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27,
Цитата amel27:
Те что открыты через API обязательно, через ф-ции AutoIT необязательно »
Т.е DllCallBackRegister() не обязательно освобождать? у меня просто есть несколько UDF'ов, в них я использую функцию OnAutoItExit для высвобождения хендлов (от DllCallBackRegister и от таймера), и по ясным причинам, позже эта функция может вовсе не вызываться (пользователь задаст другую). Вот мне и стало интересно, чем я рискую убрав совсем эту функцию, не закрывая ничего.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 12:43, 31-10-2008 | #1041



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Creat0R
В бета версии этот баг исправлен

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 16:03, 31-10-2008 | #1042


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Maza Faka,
Цитата:
В бета версии этот баг исправлен
А я не говорю про баг - И, кстати, это я зарепортил об этом баге , хотя я скорее зарепортил это как Feature Request, чтобы хендл очищался (если речь про крах при использоваии DllCallbackFree с неправильным хендлом).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Последний раз редактировалось Creat0R, 01-11-2008 в 03:32.


Отправлено: 18:30, 31-10-2008 | #1043


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R
Цитата:
DllCallBackRegister() не обязательно освобождать?»
думаю необязательно, хотя желательно... порядка ради
Цитата:
от DllCallBackRegister и от таймера »
не путай одно с другим - если таймер вызывается через API, то нужно следовать требованиям MSDN, а там сказано:
Цитата:
Applications should use the KillTimer function to destroy timers that are no longer necessary.
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:22, 01-11-2008 | #1044


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
А я не говорю про баг »
Да, это не баг, но всё же сильно раздражает, ведь при использовании функции FileClose() с неверным handle в качестве параметра, аварийного завершения скрипта не происходит. Пока нет релиза новой версии, с этой напастью борюсь так:
Код: Выделить весь код
If IsDeclared("ProcHandle") Then
  If $ProcHandle <> 0 Then DllCallbackFree($ProcHandle)
EndIf

Отправлено: 07:16, 01-11-2008 | #1045


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата:
Пока нет релиза новой версии, с этой напастью борюсь так »
Maza Faka, Creat0R, не пойму о чем вы?.. Если скрипт пишу я, то мне очень даже известно в каком месте какой хэндл открыт - достаточно добавить проверку на ошибки.

Другое дело, если логика скрипта включает много ветвлений типа IF/ELSE, то код закрытия описателей придется дублировать не один раз - для каждого благоприятного исхода их открытия, а это раздувает текст скрипта повторяющимися строчками - прямо как с примером про дискету ...Вот и приходится вводить вспомогательные "флаги", которые проверяются уже при выходе из UDF или скрипта. Проверка IsDeclared() имхо тоже не решение, так как все переменные обычно определяют еще в заголовке скрипта/UDF.

Как уже было озвучено выше - эта проблема актуальна прежде всего для API, а интеллектом AutoIT по чистке "своего" мусора ИМХО не стоит пренебрегать - особенно если при этом скрипт становится существенно короче и читабельней.

Отправлено: 14:45, 01-11-2008 | #1046


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Maza Faka,
Цитата Maza Faka:
Да, это не баг »
Ты меня немного не так понял. Я не говорил что есть или нету бага (хотя он есть), я вовсе не об этом писал, я просто хотел узнать нужно ли освобождать хендлы, и amel27 довольно исчерпывающе ответил

Цитата Maza Faka:
Пока нет релиза новой версии, с этой напастью борюсь так »
Я предпочитаю ещё и переменную обнулировать, см. мой репорт.

amel27,
Цитата amel27:
Если скрипт пишу я, то мне очень даже известно в каком месте какой хэндл открыт - достаточно добавить проверку на ошибки. »
Да, но иногда скрипт требует динамичного создания и освобождения хендлов, тут могут возникнуть проблемы (именно так я и наткнулся на эту проблему).
Кроме прочего, я считаю что скрипт не должен “вылетать” из за передачи неправильного (уже освобожденного) хендла в функцию, функция сама должна уметь распознать хендл и, если он неправильный, возвращать/устанавливать код ошибки.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 15:54, 01-11-2008 | #1047


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Creat0R
amel27
OK!

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 16:08, 01-11-2008 | #1048

D_Master


Сообщения: n/a

Профиль | Цитировать


эммм... такой вопрос - есть ли возможность раскомпилировать exe'шник, написанный на AutoIt'e?

Отправлено: 16:22, 01-11-2008 | #1049


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Цитата D_Master:
есть ли возможность раскомпилировать exe'шник, написанный на AutoIt'e? »
Штатной AutoIt утилитой Exe2Aut.exe, только скрипты версии 3.2.5.1 и ранее. А нештатными утилитами - это из области хакинга/дебагинга

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 17:00, 01-11-2008 | #1050



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ FOX RED Защита компьютерных систем 67 21-11-2007 15:05
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход