Hi Michael,
I haven't used shareable objects for anything but testing, so take what I say with a grain of salt. So, I'm going to describe how it appears to me regarding both the purpose of shareable objects and the method for using them... so, grain of salt. =)
The description of shareable objects in the BP Help files (in product, the ? button or F1) is correct but a bit difficult to understand. So, I'm going to defer to that if you want technical understanding of this. But practically here is something you can do.
Scenario: Launch Google in a browser with one object and then write text into the search bar with a second object without using attach.
1. Create a new object (Object 1). Make an application model in the object that launches IE and navigates to the Google homepage. Spy the search bar in the webpage.
2. Set that Object 1 to share its app model.
3. Create a new object (Object 2) and choose to use that shared application model from Object 1.
4. In Object 1, create an action that Launches the browser and navigates to Google (only one navigate stage required here, putting the url in the command line parameters input). And publish the action.
5. In Object 2, create an action that Writes Text into the Google search bar using the element that should be available since you're using a shared app model. And publish the action.
6. Create a new process and put two action stages in it. The first should call Object 1's Launch action, and the second should call Object 2's Write Text action.
7. In Process Studio for that process (after you link Start to Launch to Write Text to End), step over the Launch action. it will launch IE and load the Google homepage.
8. Then step over the Write Text action. If I didn't explain this horribly, you will see text go into the search bar even though your second object did not attach to anything.
That's because the point of the shareable app model feature is to give you the ability to work with a single instance of an application model. Once you attach that app model to an application, any other object that is referenced from that same process (not subprocesses) will have automatically been attached to the application before the process flow even reached it because it was attached when the Launch action did its inherent attach and thus attached for the only instance that exists for that app model. I hope i didn't just confuse you more.
I'll attach a screenshot for reference, which may or may not make the confusion better.
Respectfully,
Dave
Dave Morris, 3Ci at Southern Company