CITATION(D2P @ 12/05/2007 à 22:25 )

Je viens donc d'essayer de comparer le temps de chargement de ma form principale. Au début, je ne comprennais plus rien puisque ma nouvelle version met 5 fois plus de temps. Mais je viens de remarquer une chose que je ne m'explique pas.
Dans les deux versions, je stocke la valeur ticks dans une variable en première instruction du form_load(), et en fin de form_load(), je calcule la différence entre la valeur actuelle et celle stockée, que j'affiche par un message box.
Et bien mes 2 versions de PlacMag ne se comportent pas de la même façon :
- 1ère version : il m'affiche très vite la msgbox avec une valeur petite, mais quand je fais un tap sur "terminé", la form met encore quelques 1/10 s pour s'afficher,
- 2ème version : la msgbox met plus de temps pour apparaître avec une valeur plus grande, mais ensuite l'affichage après le tap sur "terminé" est immédiat.
Une explication à ça ?
Salut André,
1/ Si je comprends bien, il y a deux versions? peut-être est-ce la raison qui fait que l'une est plus rapide que l'autre.
2/ Afficher un MsgBox dans un événement FormLoad n'est pas trop conseillé. D'une façon générale, afficher une form dans une form au chargement. Ceci est lié au fait que LOAD est utilisé en interne et externe pour charger les ressources nécessaires à l'affichage des fenêtres (pour une form). Il en va de même pour un MsgBox, il peut donc survenir parfois qq problèmes voire plantage.
Ce que je ferais:
- en mode debug, c'est plutôt un
DebugPrint ...
- en mode réel (sur machine), un label temporaire dans la form principal, et en fin de LOAD, j'y changerais sa propriété Caption (valeur de la différence des Ticks).
3/ Pour mémoriser les Ticks j'utiliserais une variable temporaire globale, visible par tout tes autres codes, tu peux ainsi la réutiliser à volonté pour Debug dans d'autres parties de ton code.
4/ En ce qui concerne la lenteur, s'il s'agit de deux codes différents (deux versions?), la raison en est l'utilisation/l'accèes à des ressources nécessitant un long temps d'accès.
Par exemple, l'accès itératif à un grand nombre de ressources binaires pour les charger dans des collections, tout ce qui nécessite le peuplement d'objets du type Collection, Grid, etc..., l'accès à des PDB, la création de PDB, etc...
5/ Ce phénomène de lenteur excessive est-elle au premier démarrage (ce qui est normal pour tout soft lancé la première fois - création prefs, code 68k,...) ou systématique?
N'oublie pas: évite toute interférence entre ton LOAD et d'autres fenêtres.
Voilà, si tu as plus de précisions...
A+
Eric.