Creat0R
15-10-2009, 05:38
Эта версия заставит вас задуматься над изменением многих из ваших скриптов. http://files.myopera.com/Creat0R/Opera_AC/Icons/Kolobki/crazy.gif
Список изменений:
AutoIt:
- Добавлено: Новый тип в DllCall и DllStruct для избегания путаницы с описанием от MSDN. В частности это позволяет избегать X64 ошибки.
- Добавлено #967: Ftp через прокси теперь работает для Inet-функций.
- Добавлено #351: PixelSearch() теперь поддерживает поиск как справа на лево, так и снизу вверх.
- Изменено: Callback-функций выхода из AutoIt вызываются в обратном порядке регистраций.
- Изменено: AdlibUnRegister() теперь возвращает число оставшихся зарегистрированных Adlib-функций.
-Изменено: Параметр для AdlibUnRegister() теперь необязателен. Вызов без параметров приведёт к отмене регистрации последней функций.
- Изменено: @YDAY теперь возвращает значение в диапазоне 001 -366 вместо 1 - 366. Это делает использование макроса более схожим с другими языками. ЭТО ИЗМЕНЕНИЕ ВЛИЯЕТ НА РАБОТОСПОСОБНОСТЬ ТЕКУЩИХ СКРИПТОВ.
- Изменено #1080: InetGet в фоновом режиме скачивания теперь возвращает немедленно, вместо предварительного соединения с удалённым сервером.
-Изменено #1137: RegEnumKey() и RegEnumVal() теперь корректно возвращают пустую строку при ошибке вместо строки с описанием ошибки.
- Изменено: PixelChecksum() теперь может подсчитывать проверочные суммы (checksum) справа налево и с низу вверх.
- Исправлено #1013: Дочерние MDI-окна не вливаются в клиентскую часть родительского окна. (Спасибо monoceres)
- Исправлено: Крах при отмене регистрации Adlib-функций при вызове другой Adlib.
- Исправлено: Adlib функции больше не доминируют когда зарегистрирована больше чем одна функция.
- Исправлено #1005: TraySetClick(64) = наведение. (Спасибо timsky, (Mr)CreatoR)
- Исправлено #1049: InetRead() inserted arbitrary null terminators.
- Исправлено: ClipPut("") не очищает б.обмена.
- Исправлено #1068: Binary в Int. (Спасибо amel27)
- Исправлено #1087: Checkbox или Radio перерисовываются при наведении мышки.
- Исправлено: Плохая перерисовка при двойном GUICtrlSetPos() на элементе label.
- Исправлено #1094: Зажатие клавиши при использовании Send("{LSHIFT UP}"). (Спасибо nick.weltha)
- Исправлено #1074: Inputbox() позиционирование при нескольких мониторах. (Спасибо partypooper)
- Исправлено #1079: GUISetFont(), GUICrlSetFont() доки относящиеся к тикету #918
- Исправлено #1105: Неверное отображение мульти-линейной, цветной и отключённой (disable) кнопки.
- Исправлено #1077: GUICtrlSetBkColor() некорректная повторная расцветка. (Спасибо Mulder)
- Исправлено #1116: GUICtrlCreateGraphic не принимает параметры глобального ResizeMode.
- Исправлено #1102: Улучшенная документация для параметра count в StringInStr().
- Исправлено #1161: Убраны все ссылки в документации на ColorMode.
- Исправлено #1156: AutoItSetOption()/Opt() теперь устанавливают @error вместо генерации фатальной ошибки при неправильном использовании.
- Исправлено #1093: Регрессии в StringFormat() для не латинских символов.
- Исправлено: Сравнение указателей теперь работает корректно.
AutoItX:
- Убрано: Опция ColorMode убрана с AutoItSetOption().
Aut2Exe:
- Исправлено #1036: Inet-связанные функции теперь работают в скомпилированных скриптах.
Au3Info:
- Убрано: Опция ColorMode BGR убрана в связи с тем что AutoIt больше не поддерживает опцию при использовании BGR-режима.
Другое:
- Добавлено #1050: Установка файлов синтаксиса для TextPad v5. (Спасибо poebel)
UDFs:
- Добавлено: GuiRichEdit функции.
- Добавлено: _WinAPI_GetGuiResources()
- Добавлено #981: _WinAPI_WideCharToMultiByte(), _WinAPI_MultiByteToWideChar() поддерживает IN/OUT как "strings" (строковый тип).
- Добавлено #1157: Функции шифрования в Crypt.au3.
- Добавлено #1128: _WinAPI_PathFindOnPath() в WinAPI.au3.
- Исправлено #999: Документация к _GUICtrlTreeView_SetFocused.
- Исправлено #1016: _WordDocSaveAs() Doc for error handling. (Thanks Volly)
- Исправлено: Позиционирование Sound в случае с форматом VBR. (Спасибо Melba23, RazerM)
- Исправлено #1031: Исправление для _Clipboard_SetData(). (Спасибо Ascend4nt)
- Исправлено #1040: Утечка памяти в _ScreenCapture_Capture(). (Спасибо rover)
- Исправлено #1026: Примеры для _Gdiplus_BitmapCreate*() в файле справки. (Спасибо wraithdu)
- Исправлено #1092: тип данных для X64 в _Timer_...(). (Спасибо Ascend4nt)
- Исправлено #1059: Неправильная обработка ошибок в _FileListToArray(). (Спасибо Spiff59)
- Исправлено #1101: Доки для _NowTime(), _NowDate(). (Спасибо danullman)
- Исправлено: Поддержка X64 для _WinAPI_GetWindowLong(), _WinAPI_SetWindowLong.
- Исправлено #1111: Ошибки грамматики в _DateAdd().
- Исправлено #1155: Обновление для _WinAPI_CreateSolidBitmap() (Спасибо Yashied)
- Исправлено: Все подключаемые файлы (#include) используют Unicode для Dllcall и SendMessage
- Исправлено: _WinAPI_Get/SetWindowLong под X64.
- Исправлено: UDF библиотека теперь использует #include "" вместо #include <>.
- Исправлено #1033: UDF библиотека теперь имеет улучшенный обработчик ошибок при использовании DllCall().
- Изменено: _SQLite 3.6.14.2 -> 3.6.18
- Изменено: _InetGetSource() теперь использует InetRead().
- Убрано #1112: __WinAPI_Check() убрана как и все её вызовы.
[hr]
AutoIt 3.3.1.2 содержит следующие критические (изменяющие ваши скрипты) изменения:
Некоторые из следующих функций являются устаревшими. Устаревшие функции и возможности больше не документированы, однако продолжают работать. Эти устаревшие функции будут удалены после версии 3.3.2.0. Настоятельно рекомендуется оптимизировать скрипты опирающиеся на устаревшие функций для работы с новыми возможностями. Некоторые функции уже были удалены и будут отмечены таковыми.
AutoIt:
ShellExecute() и ShellExecuteWait() больше не поддерживают опцию "open" по умолчанию. См. подробности в разделе заметок (Remarks) для этих функции.
Возвращаемое значение в InetGet() изменилось. Очень важно прочитать и понять эти изменения, т.к возможны потери ресурсов если InetGet() используется некорректно.
InetGet("abort"), @InetGetActive и @InetGetBytesRead теперь являются устаревшими. Приведённый ниже список показывает новые функции, используемые для доступа к старому поведению:
InetGet("abort") - Вызов новой функции InetClose() с дескриптером возвращаемым от InetGet() отменяет закачку.
@InetGetActive - Вызов новой функции InetGetInfo() без параметров возвращает число активных закачек.
@InetGetBytesRead - Вызов новой функции InetGetInfo() с дескриптером возвращаемым от InetGet() возвращает число полученных байтов (и больше) для закачки.
Устанавливаемая опция FtpBinaryMode используя AutoItSetOption() убрана. Теперь InetGet() принимает флаг указывающий режим передачи.
Алиас URLDownloadToFile() для InetGet() окончательно убран.
AdlibEnable() и AdlibDisable() теперь являются устаревшими. См. новые функции AdlibRegister() и AdlibUnRegister().
OnAutoItStart() теперь является устаревшей. См. новую опцию препроцессора #OnAutoItStartRegister.
OnAutoItExit() теперь является устаревшей. См. новые функции OnAutoItExitRegister() и OnAutoItExitUnregister().
Опция OnExitFunc в AutoItSetOption() теперь убрана. См. новые функции OnAutoItExitRegister() и OnAutoItExitUnregister().
GUICreate() с $WS_EX_MDICHILD исправлена чтобы использовать относительно клиентской части как указано в документации.
ProcessWait() при удачной обработке теперь возвращает PID вместо 1.
WinWait(), WinWaitActive(), WinActivate(), WinActive() и WinMove() при удачной обработке теперь возвращают дескриптор (HWND) вместо 1.
Макрос @YDAY теперь использует диапазон 001 - 366 вместо 1 - 366. Это делает использование макроса более схожим с другими языками (наподобие C/C++) и более схожим с остальными макросами относящимися к дате возвращающие данные с ведущими 0-ями для выравнивания длины значения.
RegEnumKey() и RegEnumVal() теперь возвращают пустую строку ("") вместо строки с описанием ошибки.
UDFs:
Убран последний опциональный параметр в _StringBetween().
Убрана _StringAddThousandsSep(). Слишком много мнений о том что эта функция должна делать и слишком много версий было сделано на эту функцию.
_SQLite_SaveMode() переименована в _SQLite_SafeMode().
Обсуждение этой версий на форуме Русское сообщество AutoIt (http://autoit-script.ru/index.php/topic,359.0.html)
Обсуждение на официальном форуме (http://www.autoitscript.com/forum/index.php?showtopic=95366)
Сообщить о найденных ошибках: [Англ.] (http://www.autoitscript.com/trac/autoit/wiki), [Рус.] (http://autoit-script.ru/index.php/board,9.0.html)
Скачать эту версию (http://www.autoitscript.com/autoit3/files/beta/autoit) (зеркало (http://autoit.rv.ua/soft/autoit-v3.3.1.2-beta-setup.exe))
Список изменений:
AutoIt:
- Добавлено: Новый тип в DllCall и DllStruct для избегания путаницы с описанием от MSDN. В частности это позволяет избегать X64 ошибки.
- Добавлено #967: Ftp через прокси теперь работает для Inet-функций.
- Добавлено #351: PixelSearch() теперь поддерживает поиск как справа на лево, так и снизу вверх.
- Изменено: Callback-функций выхода из AutoIt вызываются в обратном порядке регистраций.
- Изменено: AdlibUnRegister() теперь возвращает число оставшихся зарегистрированных Adlib-функций.
-Изменено: Параметр для AdlibUnRegister() теперь необязателен. Вызов без параметров приведёт к отмене регистрации последней функций.
- Изменено: @YDAY теперь возвращает значение в диапазоне 001 -366 вместо 1 - 366. Это делает использование макроса более схожим с другими языками. ЭТО ИЗМЕНЕНИЕ ВЛИЯЕТ НА РАБОТОСПОСОБНОСТЬ ТЕКУЩИХ СКРИПТОВ.
- Изменено #1080: InetGet в фоновом режиме скачивания теперь возвращает немедленно, вместо предварительного соединения с удалённым сервером.
-Изменено #1137: RegEnumKey() и RegEnumVal() теперь корректно возвращают пустую строку при ошибке вместо строки с описанием ошибки.
- Изменено: PixelChecksum() теперь может подсчитывать проверочные суммы (checksum) справа налево и с низу вверх.
- Исправлено #1013: Дочерние MDI-окна не вливаются в клиентскую часть родительского окна. (Спасибо monoceres)
- Исправлено: Крах при отмене регистрации Adlib-функций при вызове другой Adlib.
- Исправлено: Adlib функции больше не доминируют когда зарегистрирована больше чем одна функция.
- Исправлено #1005: TraySetClick(64) = наведение. (Спасибо timsky, (Mr)CreatoR)
- Исправлено #1049: InetRead() inserted arbitrary null terminators.
- Исправлено: ClipPut("") не очищает б.обмена.
- Исправлено #1068: Binary в Int. (Спасибо amel27)
- Исправлено #1087: Checkbox или Radio перерисовываются при наведении мышки.
- Исправлено: Плохая перерисовка при двойном GUICtrlSetPos() на элементе label.
- Исправлено #1094: Зажатие клавиши при использовании Send("{LSHIFT UP}"). (Спасибо nick.weltha)
- Исправлено #1074: Inputbox() позиционирование при нескольких мониторах. (Спасибо partypooper)
- Исправлено #1079: GUISetFont(), GUICrlSetFont() доки относящиеся к тикету #918
- Исправлено #1105: Неверное отображение мульти-линейной, цветной и отключённой (disable) кнопки.
- Исправлено #1077: GUICtrlSetBkColor() некорректная повторная расцветка. (Спасибо Mulder)
- Исправлено #1116: GUICtrlCreateGraphic не принимает параметры глобального ResizeMode.
- Исправлено #1102: Улучшенная документация для параметра count в StringInStr().
- Исправлено #1161: Убраны все ссылки в документации на ColorMode.
- Исправлено #1156: AutoItSetOption()/Opt() теперь устанавливают @error вместо генерации фатальной ошибки при неправильном использовании.
- Исправлено #1093: Регрессии в StringFormat() для не латинских символов.
- Исправлено: Сравнение указателей теперь работает корректно.
AutoItX:
- Убрано: Опция ColorMode убрана с AutoItSetOption().
Aut2Exe:
- Исправлено #1036: Inet-связанные функции теперь работают в скомпилированных скриптах.
Au3Info:
- Убрано: Опция ColorMode BGR убрана в связи с тем что AutoIt больше не поддерживает опцию при использовании BGR-режима.
Другое:
- Добавлено #1050: Установка файлов синтаксиса для TextPad v5. (Спасибо poebel)
UDFs:
- Добавлено: GuiRichEdit функции.
- Добавлено: _WinAPI_GetGuiResources()
- Добавлено #981: _WinAPI_WideCharToMultiByte(), _WinAPI_MultiByteToWideChar() поддерживает IN/OUT как "strings" (строковый тип).
- Добавлено #1157: Функции шифрования в Crypt.au3.
- Добавлено #1128: _WinAPI_PathFindOnPath() в WinAPI.au3.
- Исправлено #999: Документация к _GUICtrlTreeView_SetFocused.
- Исправлено #1016: _WordDocSaveAs() Doc for error handling. (Thanks Volly)
- Исправлено: Позиционирование Sound в случае с форматом VBR. (Спасибо Melba23, RazerM)
- Исправлено #1031: Исправление для _Clipboard_SetData(). (Спасибо Ascend4nt)
- Исправлено #1040: Утечка памяти в _ScreenCapture_Capture(). (Спасибо rover)
- Исправлено #1026: Примеры для _Gdiplus_BitmapCreate*() в файле справки. (Спасибо wraithdu)
- Исправлено #1092: тип данных для X64 в _Timer_...(). (Спасибо Ascend4nt)
- Исправлено #1059: Неправильная обработка ошибок в _FileListToArray(). (Спасибо Spiff59)
- Исправлено #1101: Доки для _NowTime(), _NowDate(). (Спасибо danullman)
- Исправлено: Поддержка X64 для _WinAPI_GetWindowLong(), _WinAPI_SetWindowLong.
- Исправлено #1111: Ошибки грамматики в _DateAdd().
- Исправлено #1155: Обновление для _WinAPI_CreateSolidBitmap() (Спасибо Yashied)
- Исправлено: Все подключаемые файлы (#include) используют Unicode для Dllcall и SendMessage
- Исправлено: _WinAPI_Get/SetWindowLong под X64.
- Исправлено: UDF библиотека теперь использует #include "" вместо #include <>.
- Исправлено #1033: UDF библиотека теперь имеет улучшенный обработчик ошибок при использовании DllCall().
- Изменено: _SQLite 3.6.14.2 -> 3.6.18
- Изменено: _InetGetSource() теперь использует InetRead().
- Убрано #1112: __WinAPI_Check() убрана как и все её вызовы.
[hr]
AutoIt 3.3.1.2 содержит следующие критические (изменяющие ваши скрипты) изменения:
Некоторые из следующих функций являются устаревшими. Устаревшие функции и возможности больше не документированы, однако продолжают работать. Эти устаревшие функции будут удалены после версии 3.3.2.0. Настоятельно рекомендуется оптимизировать скрипты опирающиеся на устаревшие функций для работы с новыми возможностями. Некоторые функции уже были удалены и будут отмечены таковыми.
AutoIt:
ShellExecute() и ShellExecuteWait() больше не поддерживают опцию "open" по умолчанию. См. подробности в разделе заметок (Remarks) для этих функции.
Возвращаемое значение в InetGet() изменилось. Очень важно прочитать и понять эти изменения, т.к возможны потери ресурсов если InetGet() используется некорректно.
InetGet("abort"), @InetGetActive и @InetGetBytesRead теперь являются устаревшими. Приведённый ниже список показывает новые функции, используемые для доступа к старому поведению:
InetGet("abort") - Вызов новой функции InetClose() с дескриптером возвращаемым от InetGet() отменяет закачку.
@InetGetActive - Вызов новой функции InetGetInfo() без параметров возвращает число активных закачек.
@InetGetBytesRead - Вызов новой функции InetGetInfo() с дескриптером возвращаемым от InetGet() возвращает число полученных байтов (и больше) для закачки.
Устанавливаемая опция FtpBinaryMode используя AutoItSetOption() убрана. Теперь InetGet() принимает флаг указывающий режим передачи.
Алиас URLDownloadToFile() для InetGet() окончательно убран.
AdlibEnable() и AdlibDisable() теперь являются устаревшими. См. новые функции AdlibRegister() и AdlibUnRegister().
OnAutoItStart() теперь является устаревшей. См. новую опцию препроцессора #OnAutoItStartRegister.
OnAutoItExit() теперь является устаревшей. См. новые функции OnAutoItExitRegister() и OnAutoItExitUnregister().
Опция OnExitFunc в AutoItSetOption() теперь убрана. См. новые функции OnAutoItExitRegister() и OnAutoItExitUnregister().
GUICreate() с $WS_EX_MDICHILD исправлена чтобы использовать относительно клиентской части как указано в документации.
ProcessWait() при удачной обработке теперь возвращает PID вместо 1.
WinWait(), WinWaitActive(), WinActivate(), WinActive() и WinMove() при удачной обработке теперь возвращают дескриптор (HWND) вместо 1.
Макрос @YDAY теперь использует диапазон 001 - 366 вместо 1 - 366. Это делает использование макроса более схожим с другими языками (наподобие C/C++) и более схожим с остальными макросами относящимися к дате возвращающие данные с ведущими 0-ями для выравнивания длины значения.
RegEnumKey() и RegEnumVal() теперь возвращают пустую строку ("") вместо строки с описанием ошибки.
UDFs:
Убран последний опциональный параметр в _StringBetween().
Убрана _StringAddThousandsSep(). Слишком много мнений о том что эта функция должна делать и слишком много версий было сделано на эту функцию.
_SQLite_SaveMode() переименована в _SQLite_SafeMode().
Обсуждение этой версий на форуме Русское сообщество AutoIt (http://autoit-script.ru/index.php/topic,359.0.html)
Обсуждение на официальном форуме (http://www.autoitscript.com/forum/index.php?showtopic=95366)
Сообщить о найденных ошибках: [Англ.] (http://www.autoitscript.com/trac/autoit/wiki), [Рус.] (http://autoit-script.ru/index.php/board,9.0.html)
Скачать эту версию (http://www.autoitscript.com/autoit3/files/beta/autoit) (зеркало (http://autoit.rv.ua/soft/autoit-v3.3.1.2-beta-setup.exe))