Hi All,
I want to trigger Interactive Automation Script from protocol. So, when button is pressed, I want to execute Interactive Automation Script. The logic after pressing button from protocol is following:
But then, script is not executed.
Here is log from SLAutiomation file:
2023/03/14 14:42:26.540|SLAutomation.exe 10.2.2143.9438|15240|4040|CScriptRunInfo::ShowUI|DBG|-1|(Script Layout Selection Script) Interactive UI can only be used when running in interactive mode.
2023/03/14 14:42:26.543|SLAutomation.exe 10.2.2143.9438|15240|4040|CSharp|DBG|-1|(Script Layout Selection Script/2) (Code: 0x80131500) Skyline.DataMiner.Net.Exceptions.DataMinerException: Show UI Failed: 0x800402F5 (Interactive UI can only be used in interactive mode.
)
at CManagedAutomation.RunWrapped(CManagedAutomation* , Int32 iCookie, IUnknown* pIAutomation, tagVARIANT* varParameters, tagVARIANT* pvarReturn, String scriptName)
at CManagedAutomation.Run(CManagedAutomation* , Int32 iCookie, Char* bstrScriptName, IUnknown* pIAutomation, tagVARIANT* varParameters, tagVARIANT* varEntryPoint, tagVARIANT* pvarReturn) (CSharp; 0x80131500h):
Does anyone have idea what could be the problem?
Hi Dario,
Is it possible that you don't use the method engine.ShowUI() in your automation script? If so, would it be possible to add this in a comment?
The position doesn't matter, it just needs to be available to make the script interactive.
Thank you, Jens and Joey, engine.ShowUI() was helpful for Show UI Failed: 0x800402F5 exception. I also changed IDs like Joey write.
After that, I got following error: "Error launching script: interaction is required to execute this script".
Error is solved by adding engine.FindInteractiveClient(...).
Not directly answering your question, but it looks like both your dummy and parameter have the same id (1) which is not allowed. You can also use “PARAMETERBYNAME” instead of “PARAMETER” to use the name of the parameter instead of the id which makes it more readable.