Что нового

AutoIt v3.3.1.2 (бета)

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Эта версия заставит вас задуматься над изменением многих из ваших скриптов. :laugh:

Список изменений:

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() убрана как и все её вызовы.



AutoIt 3.3.1.2 содержит следующие критические (изменяющие ваши скрипты) изменения:

Некоторые из следующих функций являются устаревшими. Устаревшие функции и возможности больше не документированы, однако продолжают работать. Эти устаревшие функции будут удалены после версии 3.3.2.0. Настоятельно рекомендуется оптимизировать скрипты опирающиеся на устаревшие функций для работы с новыми возможностями. Некоторые функции уже были удалены и будут отмечены таковыми.

AutoIt:


  • ShellExecute() и ShellExecuteWait() больше не поддерживают опцию "open" по умолчанию. См. подробности в разделе заметок (Remarks) для этих функции.
  • Возвращаемое значение в InetGet() изменилось. Очень важно прочитать и понять эти изменения, т.к возможны потери ресурсов если InetGet() используется некорректно.
  • InetGet("abort"), @InetGetActive и @InetGetBytesRead теперь являются устаревшими. Приведённый ниже список показывает новые функции, используемые для доступа к старому поведению:

    • [0]InetGet("abort") - Вызов новой функции InetClose() с дескриптером возвращаемым от InetGet() отменяет закачку.
      [0]@InetGetActive - Вызов новой функции InetGetInfo() без параметров возвращает число активных закачек.
      [0]@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().


Обсуждение этой версий у нас на форуме
Обсуждение на официальном форуме

Сообщить о найденных ошибках: [Англ.], [Рус.]

Скачать эту версию (зеркало на наш файловый архив)
 
Верх