Hi, Guiseppe -
Roland is correct. Not only does each shared object utilize their own copy of the app's global variables, they each get a copy of the initial state of the app's global variables...not the current state, but the initial values as when the application starts.
Also, because a shared object executes in a non-visual-capable thread, a shared object cannot have any direct interaction with a visual control (windows, DataWindows, buttons, static text, etc.). You need to use an intermediary NVO referred to as a callback object to interface between the shared object and any visual objects/controls.
I've developed and hope to soon publish on the Appeon Community a sample application that uses shared objects to perform a database retrieval and displays the retrieved data in a window's DataWindow, and I'm in the process of writing an article to explain how shared objects work, tips on do's and don'ts, but the article is not yet finished. I would be happy to supply you with an advance copy of the sample app and the current state of the article (word document) if you are interested.
Best regards, John