Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Total frustration with form hierarchy
Message
 
À
22/08/2003 02:02:35
Dorin Vasilescu
ALL Trans Romania
Arad, Roumanie
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Divers
Thread ID:
00822160
Message ID:
00822827
Vues:
21
Hi Dorin,

Thank you for the reply. When I first saw what you had written, it seemed like the answer to all my prayers because my form is doing what you said. However, (there is always a 'however') the problem occurs (and is still occurring) even when I am NOT using the Find-Find Next search form.

It only occurs in a very long hierarchy in which the app can reach levels 9 and even 10 in the call stack. Bruce Campbell suggested using the Coverage Profiler which I had never used before. I was amazed at the details it provided:
 0.000115,,repository.pbselect.click,7,c:\etwdev\esourrep.sct,8
 0.000025,,repository.pbselect.click,8,c:\etwdev\esourrep.sct,8
 0.000027,,repository.pbselect.click,9,c:\etwdev\esourrep.sct,8
 0.000278,,eventview.setstatusbar.timer,1,c:\etwdev\edata.sct,8 <-
 0.000058,,eventview.setstatusbar.timer,2,c:\etwdev\edata.sct,8
 0.000040,,eventview.setstatusbar.timer,3,c:\etwdev\edata.sct,8
 0.000164,,eventview.setstatusbar.timer,1,c:\etwdev\edata.sct,8
 0.000048,,eventview.setstatusbar.timer,2,c:\etwdev\edata.sct,8
 0.000039,,eventview.setstatusbar.timer,3,c:\etwdev\edata.sct,8
Where I have placed the arrow is where the app drops back to the base modeless form. As you can see, the call stack number 8 doesn't change. Very weird when you consider much earlier in the call stack chain the timer is at level 6!

The calling hierarchy is as follows:
1 ETW                                  <- wrapper to auto maximise
2   ETMAIN                             <- start of main program
3      EVENTVIEW                       <- top level modeless form
4         CHANGEDATA                   <- form to select data to change
5            EVENTUPDATE               <- data change form
6               SOURCES                <- source detail form
7                  SOURLST             <- show available sources
8                     REPOSITORY       <- show available repository items
9                        REPOSUSE      <- show which items use the repository
If you have any more suggestions, I would be most pleased to hear of them as I am still no closer to a resolution.

Do you think that I may be asking too much of VFP?

Regards...Rex



>Hi.
>You call SetFocus method of the calling form grid to show the current record?
>I had the same problem some time ago, when I tried to design a lookup modal form that works like Find-Find again dialog in a Browse window. I had the calling form reference pased to the modal form as parameter, but oCallingForm.grdList.Refresh method didn't worked (RecordMark didn't moved) so I choosed oCallingForm.grdList.SetFocus(). This way worked (grid refreshed correctly), but the only solution to close the form was Ctrl+Alt+Del :-).
>Anyway, the solution to refresh a grid on a form from the modal form was to resize the grid for only one line to fit and then resize back. The result is that the current record is first in grid.
>
>WITH thisform.oCallingForm.grdList
>	lnH = .height
>	*resize the grid to display only one row
>	.height = .headerheight+SYSMETRIC(8)+.GridLineWidth*2+.RowHeight
>	.Refresh
>	.ActivateCell(1,1)
>	.height = lnH
>endwith
>
>
>Maybe this can help you to find a solution.
Rex Toomey
ISD Port Macquarie NSW
Australia

'Inside every older person is a younger person wondering what happened.'
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform