Что нового

CmdLine + Json + imacros ошибка object

Zizya1

Новичок
Сообщения
2
Репутация
0
Приветствую.
Помогите разобраться с ошибкой Error: Variable must be of type "Object".
Данная ошибка возникает при запуске скомпилированного файла (exe) из imacros firefox.
При запуске с консоли все работает.
Заранее благодарен.
 

hedji

Продвинутый
Сообщения
409
Репутация
94
Код скрипта приложите.
 
Автор
Z

Zizya1

Новичок
Сообщения
2
Репутация
0
[box title=Код скрипта autoit]
Local $fileSend = FileOpen("send.ini", 0)
Local $Json = FileReadLine($fileSend)
Local $Obj = JSon_Decode($Json)
Local $objZagolovok = Json_Get($Obj, '["zagolovok"]')
local $randomZagolovok = Random(0, UBound($objZagolovok)-1, 1)
local $fileWriteResult = FileOpen (@ScriptDir & "\" & $CmdLine[1] & ".txt", $F:shok:VERWRITE + $FO_UTF8)
FileWrite($fileWriteResult, Json_Get($Obj, '["zagolovok"][' & $randomZagolovok & ']') & @CRLF)
Local $text = Json_Get($Obj, '["text"]')
FileClose($fileWriteResult)
[/box]
[box title=Код скрипта запуска из imacros]
function _startExe(put,args=[]){ //put - путь к файлу программы; args - массив с параметрами
var Cc=Components.classes, Ci=Components.interfaces;
var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath(put);
proc.init(file); proc.run(false, args, args.length);
}
_startExe("D:\\iMacros\\Macros\\program\\autoit\\json\\randomTxt\\randomSimvol.exe", ['test']);
[/box]


Решено!
Проблема была в пути к файлу
Local $fileSend = FileOpen("send.ini", 0)

заменил на:
Local $fileSend = FileOpen(@ScriptDir & "\send.ini", 0)

При запуске из под imacros не находило это файл!

Всем спасибо!
 
Верх