скрипт падает, если скомпилирован как приватный и используется Node.js
-
- BAS 25.2.1
Если скомпилировать скрипт по умолчанию, без защиты, то все работает, как и задумывалось. Также работает в режиме отладки.
Если установить защиту, то после ввода логина и пароля пользователя и старта скрипта, скрипт падает с ошибкой:
FastExecuteScript.exe has stopped working
Из логов Windows:
Faulting application name: FastExecuteScript.exe, version: 0.0.0.0, time stamp: 0x631a5554 Faulting module name: MSVCR120.dll, version: 12.0.21005.1, time stamp: 0x524f83ff Exception code: 0xc0000409 Fault offset: 0x0000000000074a30 Faulting process id: 0x17b8 Faulting application start time: 0x01d8c524d7369608 Faulting application path: C:\Users\Administrator\AppData\Roaming\BrowserAutomationStudio\release\TestRemoteControlBasPythonV2.1\appsremote\TestRemoteControlBasPythonV2\SID0e79cd9b\engine\FastExecuteScript.exe Faulting module path: C:\Users\Administrator\AppData\Roaming\BrowserAutomationStudio\release\TestRemoteControlBasPythonV2.1\appsremote\TestRemoteControlBasPythonV2\SID0e79cd9b\engine\MSVCR120.dll Report Id: 4373e44a-8f0b-46fa-b759-f39e4b1289c3 Faulting package full name: Faulting package-relative application ID:
Скрипт фактически состоит из одной функции Node.js:
await BAS_API("load('google.com')!");
Скриншоты и скрипт прилагаю.
TestRemoteControlBasPythonV2.xml
-
@sergerdn said in скрипт падает, если скомпилирован как приватный и используется Node.js:
Если скомпилировать скрипт по умолчанию, без защиты, то все работает, как и задумывалось. Также работает в режиме отладки.
Если установить защиту, то после ввода логина и пароля пользователя и старта скрипта, скрипт падает с ошибкой:Падает если использовать в BAS_API node js переменные, даже объявленные в nodejs
Спасибо. Передал разработчику
-
@sergerdn Это связанно с защитой и исправляться не будет
-
@Fox said in скрипт падает, если скомпилирован как приватный и используется Node.js:
@sergerdn Это связанно с защитой и исправляться не будет
Есть какой нибудь обходной путь? Не использовать защиту? Но у меня не вышло скомпилировать скрипт с настройками
No protection
и заставить его работать.
Может быть глобальные переменные спасут? Другие же как то решают эту задачу, наверное.
-
@sergerdn said in скрипт падает, если скомпилирован как приватный и используется Node.js:
@Fox said in скрипт падает, если скомпилирован как приватный и используется Node.js:
@sergerdn Это связанно с защитой и исправляться не будет
Есть какой нибудь обходной путь? Не использовать защиту? Но у меня не вышло скомпилировать скрипт с настройками
No protection
и заставить его работать.
Может быть глобальные переменные спасут? Другие же как то решают эту задачу, наверное.Обходной путь для чего? Какую изначальную задачу вы пытались решить таким способом?
-
@Fox said in [скрипт падает, если скомпилирован как приватный и используется Node.js]
Обходной путь для чего? Какую изначальную задачу вы пытались решить таким способом?
Есть https://github.com/CheshireCaat/bas-remote-python.
Я хочу:- создать одну функцию, которая на входе будет принимать значение
code
для Node.js - на стороне python, чтобы вызвать любую функцию BAS, пишу код на стороне python
Например:
result = await client.run_function("ScriptName", {"code": "load('google.com')!"})
result = await client.run_function("ScriptName", {"code": "any_function_of_bas('some_params')!"})
В этом случае(если бы оно работало), то весь код был бы на вызывающей стороне, что сильно бы облегчило и отладку и тестирование.
- создать одну функцию, которая на входе будет принимать значение