>IF MyPageFrame.ActivePage = 3 >... >>Most of these are now broken, because what used to be the 2nd page is now the 3rd, third is the 4th etc.
>IF MyPageFrame.ActivePageName( MyPageFrame.ActivePage ) = "SomePageName" >... >I faced a similar problem some time ago what I did was to add an array property (I did it on the form for I was planning to put it in the class later, which then I forgot until now that you mentioned..), I called PageToPageOrder, then in the init you can put code like this:
local lnPage, loPage lnPage = 0 DIMENSION this.PageToPageOrder(this.PageCount, 2) FOR EACH loPage IN this.Pages FOXOBJECT lnPage = lnPage + 1 this.PageToPageOrder[loPage.PageOrder, 1] = lnPage && Page[PageOrder, 1] returns PageNumber for a PageOrder this.PageToPageOrder[lnPage, 2] = loPage.PageOrder && Page[PageNumber, 2] returns a PageOrder for a PageNumber ENDFORSo now somewhere else where I needed I can do, for example:
lnActivePage = thisform.myPageFrame.PageToPageOrder[thisform.myPageFrame.ActivePage, 1] loActivePage = evaluate('thisform.myPageFrame.page'+transform(lnActivePage))In your example you would change
IF MyPageFrame.ActivePage = 3 ...to
IF MyPageFrame.PageToPageOrder[MyPageFrame.ActivePage, 1] = 3 ...