скрипт падает, если скомпилирован как приватный и используется 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

    3.PNG
    1.PNG
    2.PNG



  • @sergerdn said in скрипт падает, если скомпилирован как приватный и используется Node.js:

    Если скомпилировать скрипт по умолчанию, без защиты, то все работает, как и задумывалось. Также работает в режиме отладки.
    Если установить защиту, то после ввода логина и пароля пользователя и старта скрипта, скрипт падает с ошибкой:

    Падает если использовать в BAS_API node js переменные, даже объявленные в nodejs

    f40524f4-bcaa-4e2c-970b-748287798019-изображение.png

    Спасибо. Передал разработчику



  • @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')!"})
    
    

    В этом случае(если бы оно работало), то весь код был бы на вызывающей стороне, что сильно бы облегчило и отладку и тестирование.


Log in to reply