...If I import the Picture Frame module, it inserts itself into the iPhone module. ..Any ideas out there?
Yup.
I made the PhotoFrame module by altering the xBrowser module.
You made the iPhone module by altering the xBrowser module.
You'll find that the problem will also occur if you import the xBrowser module (it'll 'fuse' with iPhone and/or PhotoFrame).
Altering an existing module so that it serves a completely different purpose is a no-no. I described this mistake in
The School of Hard Knocks. I didn't learn from my own mistake when I created the PhotoFrame module!
There is no super-easy way to fix it. If you're game, here's what I'd recommend:
- Delete the fused module
- Restart the Premise Server service (for good measure)
- Import the iPhone (or PhotoFrame) module
- Make a COPY of the module (the copy will have all new GUIDs)
- Select the original module and press the Delete key
- A dialog box will appear and will list all of the classes that will be deleted. Carefully examine this list and note if anything, such as PropertyChange scripts, is residing in the COPY! After confirming the deletion, you will need to re-create these items from scratch.
An additional complication with xBrowser/iPhone/PhotoFrame is that they have
hard-coded ObjectID (GUID) references to the objects in their
Templates folder. The copied Module will have all new GUIDs so the hard-coded references will become invalid. For example, the ObjectID (GUID) of
iPhoneRootObj is {467F3DCE-216A-48B2-B294-55F5A1856524} (right-click the iPhoneRootObj object in the Templates folder to see its GUID). Now look at "Function g_iPhoneRenderToolbar()" and you'll discover a hard-coded reference to this GUID:
Output = Output & "<A href=""/sys/{467F3DCE-216A-48B2-B294-55F5A1856524}?d??iPhoneGoUp(" & system.GetUniqueId() & ")"">" & g_iPhoneGetToolbarImage("Up.gif") & "</A> "
That reference will have to match whatever is the new GUID of iPhoneRootObj.
Overall, an ugly little exercise!
FWIW, I'll post a corrected version of PhotoFrame in the future.