I have a top (of screen) window, a center window and a bottom (of screen) window...the center windows swap in and out with the top and bottom remaining throughout the app.
All of the center screens write to a property on the bottom screen.
The center screen[s] always seem to load (on a program update or login)
and gives an error that the bottom screen is not loaded.
I put the openwindow() for the bottom screen in the application script, this fixed the startup error, but now when I login a different user, the error comes back. It is like the login resets all of the windows and loads the center window first.
Any thoughts of a work around? I would like to specify that the bottom window always loads first. On a startup or user login.
Use Vision Client tags instead of attempting to access other windows.
Unfortunately, our Ignition servers have no internet access nor any project templates...
I think you are missing some understanding. See
To be more specific, I am setting button attributes on the bottom window to simulate a navigation bar. I am setting these from the center window as they are different for every center window. Just trying to ensure the bottom window opens first...
Right. You have an XY problem:
The thing you want is to allow all of your windows to access some shared mutable state. (Y)
The solution you're looking for is manipulating window load order. (X).
But it's not possible to do X (which, in fairness, no one has explicitly told you). It is possible to do Y...and the easiest way to do Y is with Vision client tags.
As Transistor linked above - client tags are a special tag provider that allows you to define a tag structure in the designer, which each running client then gets an independent copy of. So Client A can manipulate its own tags and will not interfere with B, C, D, etc.
I thought I needed some add in template for vision client tags. Learning about them now....
Thanks
Leslie
Think of Vision Client Tags as being like variables of global scope within your instance of the client. All windows can access them. It won't affect anyone else running the same application.
Can you create a script during the vision session start. You can use tags to keep the current state of the menu if you need to reload the window.
I haven't tried this.
I just tried this.
set the windows not to load during the vision client Startup event.
Open the bottom window
set bottom window attributes
Open the main window