- Сообщения
- 8,673
- Репутация
- 2,486
AutoIt: 3.3.6.1 - 3.3.12.0
Версия: 1.3
Категория: Интеракция
Описание: Ещё один метод интеракции между скриптами. Отличительное качество данного метода, это возможность передачи целого массива данных (Array), а также COM-объектов и указателей структуры.
Системные требования: Win 2000+, IE 7+(?).
Пример:
Файл: Container.zip
История версий:
Источник: www.autoit-script.ru (тема зарождения библиотеки)
Автор(ы): G.Sandler (CreatoR)
Версия: 1.3
Категория: Интеракция
Описание: Ещё один метод интеракции между скриптами. Отличительное качество данного метода, это возможность передачи целого массива данных (Array), а также COM-объектов и указателей структуры.
Системные требования: Win 2000+, IE 7+(?).
Пример:
[SENDER] - Interaction Demo.au3 (отправка данных) - Запускать первым
[RECIEVER] - Interaction Demo.au3 (получение данных)
Код:
#include <Container.au3>
$sVar = "Test"
$sValue = InputBox('Container', 'Please type a value for "' & $sVar & '" variable:')
If @error Then Exit
$oFSO = ObjCreate("Scripting.FileSystemObject")
$avArray = StringSplit('AutoIt is the Best!', ' ')
$oContainer = _Container_Open("storage", 1)
_Container_PutProperty($oContainer, $sVar, $sValue)
_Container_PutProperty($oContainer, "FSO", $oFSO)
_Container_PutProperty($oContainer, "Array", $avArray)
MsgBox(64, "Container", "Values are set. Now, before closing this message, open: [RECIEVER] - Interaction Demo.au3")
_Container_Close($oContainer)
[RECIEVER] - Interaction Demo.au3 (получение данных)
Код:
#include <Container.au3>
$oContainer = _Container_Open("storage", 0)
If @error Then
MsgBox(48, 'Container', '_Container_Open() failed!')
Exit
EndIf
$vTestVar_Value = _Container_GetProperty($oContainer, "Test")
$vFSOVar_Value = _Container_GetProperty($oContainer, "FSO")
$aArrayVar_Value = _Container_GetProperty($oContainer, "Array")
MsgBox(64, 'Container', '"Test" variable value: ' & $vTestVar_Value)
MsgBox(64, 'Container', '"FSO" variable type: ' & VarGetType($vFSOVar_Value))
MsgBox(64, 'Container', '"Array" variable type: ' & VarGetType($aArrayVar_Value))
MsgBox(64, 'Container', '"Array[1]" variable value: ' & $aArrayVar_Value[1])
Файл: Container.zip
История версий:
v1.3
* Убрана проверка "Ptr" для AutoIt версий выше 3.3.7.9 (изменена глобальная переменная $bContainer_CheckPtrVal).
* Изменён пример "...Structs Transfer" - закрытие дескриптора открытого процесса.
v1.2
* Убрана проверка версий IE. Теперь используется "InternetExplorer.Application", это должно решить проблему с версией IE.
* Исправление (временное) проблемы с передачей переменной типа "ptr" (указатель) через COM-интерфейс (тикет #1410).
Однако это „исправление“ задаёт ограничение на размерность массива при использовании в _Container_PutProperty/GetProperty, поддерживает только двухмерный массив.
Это „исправление“ можно отключить, задав глобальной переменной $bContainer_CheckPtrVal значение False.
* Добавлен пример передачи указателя структуры, и последующего чтения данной структуры из другого скрипта (процесса).
v1.1
* Добавлена проверка версий IE. Эта библиотека требует IE 7 (и windows 2000+).
* Улучшена обработка ошибок.
v1.0
Первая версия.
* Убрана проверка "Ptr" для AutoIt версий выше 3.3.7.9 (изменена глобальная переменная $bContainer_CheckPtrVal).
* Изменён пример "...Structs Transfer" - закрытие дескриптора открытого процесса.
v1.2
* Убрана проверка версий IE. Теперь используется "InternetExplorer.Application", это должно решить проблему с версией IE.
* Исправление (временное) проблемы с передачей переменной типа "ptr" (указатель) через COM-интерфейс (тикет #1410).
Однако это „исправление“ задаёт ограничение на размерность массива при использовании в _Container_PutProperty/GetProperty, поддерживает только двухмерный массив.
Это „исправление“ можно отключить, задав глобальной переменной $bContainer_CheckPtrVal значение False.
* Добавлен пример передачи указателя структуры, и последующего чтения данной структуры из другого скрипта (процесса).
v1.1
* Добавлена проверка версий IE. Эта библиотека требует IE 7 (и windows 2000+).
* Улучшена обработка ошибок.
v1.0
Первая версия.
Источник: www.autoit-script.ru (тема зарождения библиотеки)
Автор(ы): G.Sandler (CreatoR)