vthomeschoolmom
14 years agoSuper Contributor
xTreme controls further information
So I have a project that tests my application. Within my application, there are Code Jocks Xtreme controls. Some helpful soul here mentioned that I can use MSAA to access these controls. So I added XTPDockBar and XTPToolBar. Lo and behold many of the functions that previously were inaccessible are accessible. I can access buttons on tool bars and menu items from these controls. When I look into the Object Browser, I see this in the WndClass property of my objects.
So I have a Docking Pane control that controls the ability of users to dock panes... Under certain circumstances, these panes can be tabbed.
Observe the code that clicks the tabs
Sub Test1
Dim XTPDockingPaneTabbedContainer
Set XTPDockingPaneTabbedContainer = Sys.Process("Instrument Manager").VBObject("imMainForm").Window("MDIClient").VBObject("frmSMWorkspace").Window("XTPDockingPaneTabbedContainer", "", 3)
Call XTPDockingPaneTabbedContainer.Click(146, 270)
Call XTPDockingPaneTabbedContainer.Click(47, 268)
End Sub
I add the class name to the project's properties MSAA section of Open Applications. Then I record:
Sub Test2
Dim tabList
Set tabList = Sys.Process("Instrument Manager").VBObject("imMainForm").Window("MDIClient").VBObject("frmSMWorkspace").TabList("XTPDockingPaneTabbedContainer")
Call tabList.ClickTab("Tab 1")
Call tabList.ClickTab("Tab 2")
End Sub
YAY! I love that. BUT when I rerun the recorded script, I receive an error
The tab page 'Tab 1' not found.
It can find it during the recording, why not during playback?
Thanks
So I have a Docking Pane control that controls the ability of users to dock panes... Under certain circumstances, these panes can be tabbed.
Observe the code that clicks the tabs
Sub Test1
Dim XTPDockingPaneTabbedContainer
Set XTPDockingPaneTabbedContainer = Sys.Process("Instrument Manager").VBObject("imMainForm").Window("MDIClient").VBObject("frmSMWorkspace").Window("XTPDockingPaneTabbedContainer", "", 3)
Call XTPDockingPaneTabbedContainer.Click(146, 270)
Call XTPDockingPaneTabbedContainer.Click(47, 268)
End Sub
I add the class name to the project's properties MSAA section of Open Applications. Then I record:
Sub Test2
Dim tabList
Set tabList = Sys.Process("Instrument Manager").VBObject("imMainForm").Window("MDIClient").VBObject("frmSMWorkspace").TabList("XTPDockingPaneTabbedContainer")
Call tabList.ClickTab("Tab 1")
Call tabList.ClickTab("Tab 2")
End Sub
YAY! I love that. BUT when I rerun the recorded script, I receive an error
The tab page 'Tab 1' not found.
It can find it during the recording, why not during playback?
Thanks