RobotStudio event

ScreenMaker Advanced Actions

It seems like the documentation for ScreenMaker is very sparse, and is extremely sparse when it comes to the "advanced actions" in the events manager. Is there better documentation out there? 

As an FYI all I'm trying to do is open a screen when a button is pressed, but when a rapid value is true open one screen and when the rapid value is false have the button open a different screen (see below). It should be something very straight forward but I cannot figure out how to do it?

on button click
If screenSelection = True open ScreenA
If screenSelection = False open ScreenB 

Comments

  • Hi,
     

    ScreenMaker does not support IF, WHILE or other functions which requires boolean expressions.

     

    BR
    Carlos Martinez
    ABB
  • Ok, but in the advanced actions list you have the option of 1) calling another action list 2) calling a .NET Method and 3) calling a custom action. Could I just call a .NET Method and have the method take care of the IF statement after the button click?
  • You can call a static .NET Method of a public class. The supported parameters are the basic data types. Then you can put complex logic inside the .NET method and have results either through "out" parameters of returned values.

    The issue here is that the branch for execution is held inside the .NET assembly, but the code for launching either screen is inside the screen.

     

    There are tricks to emulate this. For example:

     

    1) In your screen, define two application variables: one for each screen.

    2) In the button click event, you can call your .NET class and the return values will set to true one of the previous booleans.

    3) In your screen, add two ActionTrigger components; these components execute actions based on variable changes. So each ActionTrigger component will be linked to each of the booleans. This component will launch you screen every time the value changes.

     

    Hope this helps

     

    BR
    Carlos Martinez
    ABB