I am writing a project in which all forms must be checked for user access before launching them. A badge scan is required when the form is requested. I cannot use a universal login because this application sits on a shop floor and is stateless. To handle security I have a function in the project's main procedure file that the form name is passed to. Security is checked through a security object and if the user is okay the form is opened. The problem, how do I launch the form as an object and have it stay open? When I run the function the form loads, shows, and then immediately vanishes. Maybe it would stay open by me using a global variable as the object name? But then the forms would keep overwriting each other because they're all using the same global. I would rather load the forms as objects with the newobject() command then run them with do form.