Здравствуйте. Написал приложение, которое активно использует COM 'Shell.Explorer'; вот некоторые вырезки:
; скомпилировал код. Полученный EXE'шник корректно работает только на том компьютере, на котором он был скомпилирован. При попытке его запуска на любых других компьютерах, начинается бред; программа выдает ошибку 'error variable must be of type object', будто объект не создается и я проделываю операции объекта с пустой переменной $aba.
Я пытался использовать другие объекты:
_IECreateEmbedded;
Shell.Explorer.2;
Run(.... Internet Explorer в приватном режиме) + Атач по URL;
Результат один и тот же: на моем компьютере работает, а на других 'error variable must be of type object'.
Я уже не знаю, что и делать Это какой-то ужас для меня ;) Подскажите, в чем может быть суть такого странного поведения? Может у кого-то было что-то подобное?
Код:
#include <IE.au3> ;инициализация библиотеки.
Global $aba = ObjCreate('Shell.Explorer') ; создание объекта.
$aba.navigate('https://m.mail.ru/login') ; переход.
_IELoadWait($aba, Default, 10000) ; ожидание.
;Авторизация...
$f_a = _IEGetObjById($aba,"login") ; ID поля 'Логин'.
_IEFormElementSetValue($f_a, 'тратата@mail.ru')
$f_b = _IEGetObjById($aba,"password") ; ID поля 'Пароль'.
_IEFormElementSetValue($f_b, '1234512345')
DllCall('kernel32.dll', 'DWORD', 'Sleep', 'BYTE', 255) ; небольшая пауза.
; Вход с введенными данными.
$oButtons = _IETagNameGetCollection($aba, 'input') ; получаем элементы.
For $oButton In $oButtons ; пролистать все кнопки.
If $oButton.value = "Войти" Then
$oButton.Click() ; клик и выход, если значение кнопки 'войти'.
ExitLoop
EndIf
Next
; скомпилировал код. Полученный EXE'шник корректно работает только на том компьютере, на котором он был скомпилирован. При попытке его запуска на любых других компьютерах, начинается бред; программа выдает ошибку 'error variable must be of type object', будто объект не создается и я проделываю операции объекта с пустой переменной $aba.
Я пытался использовать другие объекты:
_IECreateEmbedded;
Shell.Explorer.2;
Run(.... Internet Explorer в приватном режиме) + Атач по URL;
Результат один и тот же: на моем компьютере работает, а на других 'error variable must be of type object'.
Я уже не знаю, что и делать Это какой-то ужас для меня ;) Подскажите, в чем может быть суть такого странного поведения? Может у кого-то было что-то подобное?