Hi Jeff,
 
As I recall in the past I've also had erratic problems with use of
getSubMenu() when I was trying to do just like you and modify menus
dynamically.
 
I think what I finally did was to put some small delay beafter the menu as
launched, and before I used getSubMenu (I think I used sleep, or a timer to
start the routine which would use getSubMenu, something like that).  Since
some users are seeing it and some are not, this fits with my idea that
there's a weird timing problem involved with this somehow.
 
You could also separate the use of getSubMenu from .text() (assigning the
submenu to a variable before indexing .text() from it), just to see if that
fixes things.
 
If you find what does, please let us know.
 
Thanks.
 
Chip
 


  _____  

From: Jeff Bishop [mailto:[email protected]] 
Sent: Monday, January 30, 2012 11:27 AM
To: [email protected]
Subject: problem with menus



Hello GW Staff or any others,

 

I am frequently seeing the following error from the Studio application from
users:

 

An Error Occurred in Station Playlist Studio Scripts 3.5.1 (800A01A8)

Description: Object required: 'oMenu.GetSubMenu(...)'
Line: 1046 -
oMenu.GetSubMenu("SPLStudioScriptMenu_Configuration").Text("SPLStudioScriptM
enu_ToggleDebugMode") = "

 

The source code line in question is:

 

oMenu.GetSubMenu("SPLStudioScriptMenu_Configuration").Text("SPLStudioScriptM
enu_ToggleDebugMode") = "&Debug Mode Off"

 

The xml for the menu is:

 

<menu id="SPLStudioScriptMenu">StationPlaylist Studio Script

<menu id="SPLStudioScriptMenu_Help">Studio Script Help and Documentation

<menuitem id="SPLStudioScriptMenu_Help" shortcut="h">StationPlaylist Studio
Script Help...</menuitem>

<menuitem id="SPLStudioScriptMenu_Manual" shortcut="m">StationPlaylist
Studio Script Manual...</menuitem>

</menu>

<separator/>

<menu id="SPLStudioScriptMenu_ListViewReadingSettings">Studio Script
ListView Reading Settings

<menuitem id="SPLStudioScriptMenu_CustomRequestListReadingSettings"
shortcut="r">Request List Reading Settings</menuitem>

<menuitem id="SPLStudioScriptMenu_CustomTrackListReadingSettings"
shortcut="t">Track List Reading Settings</menuitem>

</menu>

<separator/>

<menu id="SPLStudioScriptMenu_Configuration">Studio Script Configuration

<menuitem id="SPLStudioScriptMenu_AlertTimeSettings" shortcut="a">Alert Time
Settings</menuitem>

<menuitem id="SPLStudioScriptMenu_ToggleDebugMode" checked="no"
shortcut="d">Debug Mode Off</menuitem>

<menuitem id="SPLStudioScriptMenu_Messages" shortcut="g">Message
Maintenance...</menuitem>

<menuitem id="SPLStudioScriptMenu_HotkeyGlobalHandler" shortcut="h">Hotkey
Global State Manager...</menuitem>

<menuitem id="SPLStudioScriptMenu_TimeIntervalSettings" shortcut="i">Time
Interval Settings</menuitem>

<menuitem id="SPLStudioScriptMenu_Preferences" shortcut="p">Script
Preferences...</menuitem>

<separator/>

<menuitem id="SPLStudioScriptMenu_SelectSoundCard" shortcut="s">Select a
Sound Card</menuitem>

<menuitem id="SPLStudioScriptMenu_UseDifferentSoundCard" checked="no"
shortcut="u">Use Different Sound Card</menuitem>

<separator/>

<menuitem id="SPLStudioScriptMenu_ScriptToggle" shortcut="q">Disable the
StationPlaylist Studio Scripts</menuitem>

<menuitem id="SPLStudioScriptMenu_ResetSettings" shortcut="r">Reset
StationPlaylist Studio Script settings and hotkeys to their
defaults...</menuitem>

<menuitem id="SPLStudioScriptMenu_WatchEventResets" shortcut="e">Reset
StationPlaylist Studio Script Watch Event Settings...</menuitem>

</menu>

<separator/>

<menuitem id="SPLStudioScriptMenu_NotesList" shortcut="n">Notes
List...</menuitem>

<separator/>

<menuitem id="SPLStudioScriptMenu_Donate" shortcut="o">Donate to support
further development projects and maintenance...</menuitem>

<menuitem id="SPLStudioScriptMenu_CheckForUpdate" shortcut="u">Check For
Update...</menuitem>

</menu>

 

The oMenu variable is defined as:

 

Dim oMenu : Set oMenu = Menu(strXMLFileName, "SPLStudioScriptMenu",
"SPLStudioScriptMenuProcedure")

 

The oMenu variable is defined well in advanced of the actual usage. Some
users see this error and some do not (for example I never see it myself).

 

Any ideas?

 

Jeff

 

Reply via email to