The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 3.0 and 3.0b
SYMPTOMS
Using RemoveObject and then AddObject to control pages in a PageFrame may
result in a visual loss of pages.
WORKAROUND
Use either of the following two workarounds to prevent a visual loss of
pages:
- Remove all pages before adding any new pages to the pageframe.
-or-
- Remove pages in the reverse order in which they were added. Then add the
new pages. For example, the following code adds three pages to a
PageFrame:
_SCREEN.FORMS(1).PAGEFRAME1.AddObject("Page1","Page")
_SCREEN.FORMS(1).PAGEFRAME1.AddObject("Page2","Page")
_SCREEN.FORMS(1).PAGEFRAME1.AddObject("Page3","Page")
When you use RemoveObject, Page3 should be removed before Page2 and
Page2 should be removed before Page1. After removing pages in the
correct order, new pages can be added and displayed properly.
STATUS
Microsoft is researching this behavior and will post new information here
in the Microsoft Knowledge Base as it becomes available.
MORE INFORMATION
Steps to Reproduce Behavior
- Create a new form in the Form Designer.
- Add a PageFrame to the form.
- Set the PageCount property of the PageFrame to 0.
- Run the form.
- In the Command window, type the following:
_SCREEN.FORMS(1).PAGEFRAME1.AddObject("Page1","Page")
_SCREEN.FORMS(1).PAGEFRAME1.AddObject("Page2","Page")
_SCREEN.FORMS(1).PAGEFRAME1.AddObject("Page3","Page")
_SCREEN.FORMS(1).PAGEFRAME1.RemoveObject("Page1","Page")
_SCREEN.FORMS(1).PAGEFRAME1.RemoveObject("Page2","Page")
_SCREEN.FORMS(1).PAGEFRAME1.AddObject("Page1","Page")
_SCREEN.FORMS(1).PAGEFRAME1.AddObject("Page2","Page")
- Open the debug window, and type the following:
_SCREEN.FORMS(1).PAGEFRAME1.PageCount
The debug window shows the PageCount to be 3, which is correct. However,
nly two pages are displayed in the PageFrame.
|