DeltaFX
Messages postés449Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 8 avril 2009
-
10 mai 2006 à 14:06
DeltaFX
Messages postés449Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 8 avril 2009
-
10 mai 2006 à 16:39
Yo, bande de codeurz,
Je fais un prog ( toujours le meme, mais je résouds les pbs 1 par 1) qui a 8 forms dedans. la principale est affichée pendant que les autres se chargent, les 4 suivantes sont affichées en permanence (et susceptible de se recouvrir/cacher mutuellement), 1 est appelée en cas de besoin (un osk), la dernière est dans un panel de la troisième, histoire de situer le bigntz. Au create, seule la form principale est visible, et se cache une fois que les 4 + importantes sont crées.
Pour l'instant, je traine plein de données en dur dans chaque form, mais a brève echéance, ces données seront déplacées dans un .ini, dans différentes sections (pas de registry, 1-j'aime pas, 2-pas de procédure d'instal/desinstal, pas de registry à nettoyer, 3-le gros boulot de configuration du prog par l'utilisateur se fera dans le .ini).
Et je me pose un question : j'ai un seul fichier ini pour toute l'appli, mes forms ne se connaissent pas entre elles , et de toute manières je ne peux pas les créer toutes simultanément. Ce qui revient à dire que pour charger les données dans l'appli, je vais devoir relire le .ini autant de fois que j'ai de forms, chacune lisant la section qui l'interresse. Et là, ben voila quoi qqpart ca me gonfle de refaire n fois "j'ouvre le fichier, je lis ma section, je referme le fichier". Je ne trouve pas ca performant, c'est long un acces disque, déja qu'il met 1 seconde a démarrer....)
Quelle stratégie adopter ?
- Relire n fois le fichier ?
- Ne le lire qu'une seule fois sous form d'un TmemInifile, le garder ouvert qqpart en globale tant que mes forms ne sont pas toutes crées ?
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20082 10 mai 2006 à 14:59
Si tu n'as besoin de ton fichier ini qu'une seule fois (au démarrage) je peux te proposer ceci:
- Tu crée une nouvelle unité du genre 'UParametres.pas'
- Dedans, tu y déclares une variable globale qui sera un TIniFile.
Et tu rajoute cette unité dans toutes les clause uses que nécéssaire.
Après, c'est simple : ta fiche principale crée le fichier ini (l'ouvre), crée les fiches secondaires et libère le TIniFile une fois que toutes les fiches sont chargées. (à faire obligaotirement dans cet ordre là)
Ou mieux, tu édites le fichier .dpr pour créér le Ini avant le premier appel à Application.CreateForm et tu le libère avant l'appel à Application.Run.
Après, il y a dix mille façonc de faire.
C'est toi qui voit.
++
Si tu ne te plantes pas ......
tu ne pousseras jamais