- Сообщения
- 8,673
- Репутация
- 2,484
Примечание: При том что набор функций довольно правильный, кое что может быть добавлено или удалено, поэтому, пожалуйста, относитесь к этой версии как к версии на стадии разработки. Есть постоянные "обсуждения" в форуме MVP (на оф. сайте) о наилучшем способе делать вещи...
Список изменений:
Критические изменения для ваших скриптов:
Официальная новость
Обсуждение бета-версий у нас на форуме
Обсуждение на официальном форуме
Сообщить о найденных ошибках: [Англ.], [Рус.]
Скачать бета версию
На заметку
Перевод списка изменений был скорректирован с версии машинного перевода от Google :whistle:, в отличий от предыдущих версии переводов, не осилил я такой список, надеюсь на понимание :thanks:.
Список изменений:
3.3.9.6 (10 июля 2013) (Beta)
AutoIt:
- Добавлено: Интерпретатор принимает 64 битные Hex-числа.
- Добавлено: Ключевое слово Null.
- Добавлено #488: Третий параметр для ObjGet(), чтобы указать экземпляр объекта.
- Добавлено: Соединение операторов присваивания для свойств объекта.
- Добавлено #1191: Явный размер массивов необязателен для явной инициализации.
- Добавлено: Доступ к массиву по выражению: StringSplit("a,b", ",")[1]
- Добавлено: Доступ к объекту по выражению: ObjCreate("Shell.Application").GetSystemInformation("DirectoryServiceAvailable")
- Добавлено: Пустые массивы.
- Добавлено: Функции теперь являются объектами первого класса, это означает что переменные могут "указывать" на них и эта функция может быть вызвана через переменную.
- Добавлено: Встроенные функции, принимающие обратный вызов (callback) теперь могут быть переданы непосредственно, в дополнение к старому методу передачи в виде строки. Встроенные функции также теперь могут быть переданы (будьте осторожны, что передаваемые функции соответствуют тому, что ожидает вызывающий абонент).
- Добавлено: Тернарные операторы в стиле C++: Local bResult = ("Foo" = "bar")? True: False
- Добавлено: Выражение в качестве параметра по умолчанию в функции.
- Добавлено: With...EndWith можно использовать для выражений, имеющие доступ по точке (объекту).
- Добавлено: Вложенные "With...EndWith".
- Добавлено: Call вызывает встроенные функции.
- Добавлено: ByRef для функции Call.
- Добавлено: Поддержка дополнительных типов COM VARIANT.
- Изменено: Убрана поддержка Windows 2000. Минимальные поддерживаемые ОС теперь это Windows XP RTM / Windows Server 2003.
- Изменено: upx.exe обновлён с 3.07 -> 3.09.
- Изменено: Движок регулярных выражений PCRE обновлён до 8.33.
- Изменено: ReDim работает с массивами объявленными как Static.
- Изменено: Критические ошибки объектов при выполнении больше не фатальные (выполнение скрипта не останавливается).
- Изменено: Разрешение нескольких обработчиков COM ошибок. Последний регистрируется и вызывается текущий.
- Изменено: VT_NULL VARIANT конвертируется в ключевое слово Null (ранее пустая строка).
- Исправлено #2067: -2147483648 не хранится как int32.
- Исправлено #2003: ProcessWaitClose() использует слишком много ресурсов процессора.
- Исправлено #2076: COM VARIANT не правильно устанавливается для логического True.
- Исправлено #2015: DllCallbackRegister() искажает числа с плавающей точкой под x64.
- Исправлено: x64 DllCall не правильно устанавливает параметры типа double.
- Исправлено: DllCallbackRegister() не правильно возвращает типы с плавающей точкой.
- Исправлено: Различные проблемы с ключевым словом Static.
- Исправлено #2078: Ошибка в COM выражений.
- Исправлено #2073: Неожиданное завершение работы с ContinueLoop.
- Исправлено #1485: Неожиданное завершение работы с ContinueCase.
- Исправлено: Крах в ObjEvent() для параметров объекта ByRef.
- Исправлено #2068: Повторяющиеся вызовы Acos() больше не производят странные результаты. ПРИМЕЧАНИЕ: Это исправление увеличивает размер AutoIt примерно на 60KB.
- Исправлено: ObjGet() неудачно проверяет идентификатор класса в том члучае, когда указан первый параметр для функции.
- Исправлено #2111: RunAs() может неудачно работать даже если пользователь имел необходимые разрешения чтобы его использовать.
- Исправлено #1395: DLLCallbacks при выходе.
- Исправлено: Ptr() возвращает нулевой указатель для объектов.
- Исправлено #1319: Зависание при выходе для пользовательского элемента RichEdit.
- Исправлено #2138: Исправлена GUICtrlRead() для элемента Dummy, которая искажала строки и, возможно, вызывала сбой в AutoIt.
- Исправлено #1760: #OnAutoItStartRegister игнорирует имена функций обрамлённые одинарными кавычками.
- Исправлено #2146: Сбой при закрытии AutoIt при запуске из окна консоли.
- Исправлено: Тип DLLStruct "забывается" в операциях сравнения.
- Исправлено: Параметр типа "struct" в DllCall перезаписывает потенциально следующие параметры.
- Исправлено #1566: Проблема с массивом как собственный элемент.
- Исправлено #1551: Крах скрипта при изменении массива.
- Исправлено: ReDim позволяет инициализацию для переменных не являющимися массивами.
- Исправлено #2166: StringToASCIIArray() и StringFromASCIIArray() не правильно возвращали пустую строку, когда начальный индекс больше конечного.
- Исправлено #1901: 32-разрядные скомпилированные скрипты теперь работают из каталога system32 в 64-разрядных версиях Windows.
- Исправлено #2157: ProcessList() крашит скрипт если было более 512 запущенных процессов.
- Исправлено #2215: Неправильная проверка синтаксиса для параметров функции по умолчанию.
- Исправлено #2222: не-ASCII символы не допускаются в свойствах/методах объекта.
- Исправлено #2235: ProcessGetStats() теперь по умолчанию использует текущий процесс, если неверный процесс был указан.
- Исправлено #2253: Ping() возвращает успешное выполнение без связи.
- Исправлено #1498: #RequireAdmin вызывал бесконечный цикл для отключённого UAC.
UDFs:
- Добавлено: Функция _WinAPI_GetProcAddress().
- Добавлено #2126: Замечание в документации о том что _ArrayDisplay может отображать максимум 65530 элементов.
- Добавлено #1158: Интеграция WinAPIEx, разбита под WinAPI*.au3.
- Добавлено #2250: DirMove в соответствующий раздел DirCopy.
- Добавлено #2155: Отсутствует документация для рабочего каталога по умолчанию в Run/RunWait.
- Добавлено #2224: Дополнительный необязательный параметр в _FileReadToArray для получения числа элементов массива в первом элементе.
- Добавлено #2114: Отключение и включение перерисовки сообщения для увеличения скорости отображения _ArrayDisplay. (Заметно только с большими массивами.)
- Добавлено #2120: Отключение и включение перерисовки сообщение для увеличения скорости удаления элементов с _GUICtrlListView_DeleteAllItems. (Заметно только при удалении многих элементов в ListView.)
- Добавлено #966: Дополнительный необязательный параметр, чтобы вернуть полный путь к файлу/папке в _FileListToArray.
- Добавлено #2193: _StringTitleCase, для создания заглавной строки.
- Добавлено #2263: _Crypt_GenRandom, заполняет буфер со случайными данными.
- Изменено #2117: _FileCountLines пишет во временный массив для расчета количества строк в файле.
- Изменено: _FileListToArray принимает ключевое слово Default в качестве параметров по умолчанию.
- Изменено: _FileReadToArray парсит файл с помощью регулярных выражений. Теперь различные окончания строк (не рекомендуется) будут корректно отображаться в массиве.
- Изменено: Библиотека Word была полностью переписана. Имена функций изменились с _Word* на _Word_*. ЭТО ИЗМЕНЕНИЕ НАРУШАЕТ СОВМЕСТИМОСТЬ СТАРЫХ ВЕРСИИ СКРИПТОВ.
- Изменено: _MAX и _Min функций теперь используют тернарный оператор.
- Изменено: Переписана функция _ReplaceStringInFile, устранена необходимость записи во временный массив. (значения @error 4, 5 и 6 были убраны, см. документацию.)
- Изменено: Переписана функция _GetIP для улучшения производительности, и добавлено http://www.myexternalip.com/raw для поиска внешнего IP адреса.
- Изменено: _SQLite 3.7.2.0 -> 3.7.16.2
- Изменено: IE3.au3 v3.0-0 до v3.0-1 (подробнее см. информацию в заголовке библиотеки)
- Исправлено #2077: Более надёжная проверка Hwnd в _GUICtrlRichEdit_Create()
- Исправлено #2088: _ArrayDisplay неправильно обрабатывает параметры по умолчанию.
- Исправлено #2112: "Окно отчёта журнала" не реагирует после закрытия скрипта.
- Исправлено: _GUICtrlRichEdit_* документация для кодов ошибок.
- Исправлено #1970: _FTP_ListToArray() не может получить только папку или файл.
- Исправлено #2084: Буфер обмена не закрывается если произошла ошибка в _ClipBoard_SetDataEx.
- Исправлено #2125: Запись 2-мерного массива происходит только для первых двух столбцов массива.
- Исправлено #2070: Неожиданный крах на некоторых системах при использовании _GUICtrlStatusBar_GetText.
- Исправлено #2132: Документация для _WinAPI_GetModuleHandle и параметр для возврата дескриптора вызывающего процесса. (Используйте ключевое слово Null, а не 0.)
- Исправлено #2162: Неисправна ссылка в документации в разделе Управление IE для _IEFormElementCheckBoxSelect.
- Исправлено #2170: _ArrayDisplay не справлялась с обработкой массивов без элементов.
- Исправлено: _PathMake не добавляет обратную косую черту в корневой путь.
- Исправлено #2223: Неправильно ссылающаяся UDF в _WordErrorHandlerRegister.
- Исправлено #2252: _GUICtrlListView_DeleteAllItems неправильно удаляет элементы, созданные с _GUICtrlListView_AddItem на встроенном в AutoIt элементе listview.
- Исправлено #1861: _ArrayDisplay неверно отображает массив при использовании параметра $sHeader и массив содержащий разделитель по умолчанию.
- Исправлено: Использование неподдерживаемых символов в префиксе файла для _TempFile.
- Исправлено #2186: Документация _WinNet_AddConnection* и $sLocalName. (Используйте ключевое слово Null или пустую строку, а не 0.)
- Исправлено #2148: Крах при передаче числового значения вместо строки.
- Исправлено #2219: _ExcelReadSheetToArray вынуждает подвисание AutoIt при чтении защищённого worksheet.
- Исправлено #2242: Не удаётся записать 0-ой элемент в _FileWriteFromArray. Теперь поддерживается ключевое слово Default для параметров $IBase и $iUBound, поэтому используйте это вместо значения 0 для параметров по умолчанию. (см. документацию.)
- Исправлено #2218: Крах AutoIt при использовании _GUICtrlListView_SetGroupInfo перед вызовом _GUICtrlListView_SetItemGroupID.
- Исправлено #1996: _GUICtrlListView_SimpleSort не удаётся сохранить ItemParam элемента.
- Исправлено #1759: Странная сортировка listview.
- Исправлено #2268: _StringReverse не может переставить символы Unicode.
- Исправлено #2298: Не удаётся определить, когда EnumDisplayDevices возвращает 0.
- Исправлено: _FileWriteFromArray не удаётся передать параметр $aArray как константу.
- Исправлено: $tagREBARBANDINFO не работает на XP, из-за ссылаемых параметров предназначенных для Vista и выше.
- Исправлено #2305: Неправильный отчёт ширины и высоты рабочего стола при использовании параметров по умолчанию.
- Исправлено #2335: Порядок _WinAPI_EnumWindows() и _WinAPI_EnumWindowsPopup().
- Исправлено #2347: Неправильные данные _WinAPI_GetMonitorInfo().
- Убрано #2174: Явная проверка того, что источник и вставка строк для _StringInsert были строками и принуждение возвращаемого значения @error. (значения @error 2 и 3 были убраны, см. документацию.)
- Убрано #2187: Принуждение _GUICtrlRichEdit_Create создавать элемент RichEdit в положительной позиции. (Значения @error 103 и 104 были убраны, см. документацию.)
- Убрано #2172: Конструкция Select...EndSelect, заменена на If...EndIf а также оптимизация кода.
- Убрано: Документация и примеры для _Iif. Скрипты должны быть обновлены для использования нового тернарного оператора.
- Убрано: _ArrayCreate из Array.au3.
Au3Check:
- Добавлено: Генерация ошибки для hex-чисел длиннее 16 символов.
- Добавлено: Соединение операторов присваивания для свойств объекта.
- Добавлено: Доступ к массиву по выражению.
- Добавлено: Доступ к объекту по выражению.
- Изменено: Сообщения для поддержки встроенных ошибок SciTE.
- Изменено: Ошибка теперь генерируется для не поддерживаемых кодировок файла (предыдущее поведение было тихо передать скрипт).
- Изменено: Номер версии Au3Check теперь соответствуют номеру версии AutoIt.
- Изменено: Явный размер массивов необязательный для явной инициализации.
- Исправлено #2113: Свойства объекта в названиях ключевых слов рассматриваются как ключевые слова.
- Исправлено #2141: #IgnoreFunc производила неверную ошибку.
Au3Record:
- Исправлено #2083: Больше нет сообщения об отсутствующем DLL.
- Исправлено #2337: Поддержка не английской клавиатуры.
AutoIt3Help:
- Изменено: Ресурс манифеста предлагает общие элементы управления Windows v6.0.
- Изменено: Номер версии 1.0.0.3.
AutoItX:
- Исправлено: Крах в AU3_PixelSearch когда функция завершается с ошибкой.
Критические изменения для ваших скриптов:
Изменено: Библиотека Word была полностью переписана. Имена функций изменились с _Word* на _Word_*.
Официальная новость
Обсуждение бета-версий у нас на форуме
Обсуждение на официальном форуме
Сообщить о найденных ошибках: [Англ.], [Рус.]
Скачать бета версию
На заметку
Перевод списка изменений был скорректирован с версии машинного перевода от Google :whistle:, в отличий от предыдущих версии переводов, не осилил я такой список, надеюсь на понимание :thanks:.