Bonjour a tous , mon post est un peu long mais je vois pas d'autre solution pour etre clair .
Je suis sous delphi7, et XP pour developper mon programme, et ce dernier marche chez mes clients sur des P4 2G et 512 M de ram .
Mon programme est composé d'un executable et de diverses dll , mon programme en resumé permet :
------> D'ecrire des scripts avec divers outils automatique a la disposition de de l'utilisateur.
------> D'executer ce script qui agit sur un systeme de mesure externe , le deroulement du script peut etre aussi interractif et donc ouvrir des forms specifiques un peu comme des boites de dialogue..
------> D'afficher des resultat.
Donc voila mon probleme :
Je me trouve devant des erreurs d'application aleatoire qui plantent mon programme et je ne sais pas trop ou m'orienter pour trouver la solution .
Quand je plante , les messages sont :
- "OutOfRessource.." ( cela arrive souvent quand je veux ouvrir une nouvelle form .. ma form se dessine pas entierement )
et plus rarement
- "Impossible de dessiner sur le canvas".
- "Impossible d'inserser une ligne dans le richedit".
Je pense donc que c'est un probleme de memoire , mais avec 512 M de ram çà me semble un peu bizarre.
A ce jour j'ai constanté que ces erreurs arrivent au bout d'un certain temps d'utilisation des outils d'aide à l'ecriture du script , donc appel frequent de fonction dans les dll ( form ) , avec des script avec bcp de ligne >5000 lignes ou bien quand j'ai bcp de dialogue ( form crée dynamiquement ) dans mon script
je m'oriente donc vers les elements que je crée dynamiquement , que je ne detruirais pas correctement et que je recrée en court de l'execution..
Donc j'aurai déjà deux questions avant que je me lance dans de lourde modification .
1er : Les DLL peuvent elles etres chargées dymaniquement plusieurs fois sans que ces dernieres n'est étés detruites. Je crois que les DLL ne sont recharger en memoire que si ces derniere ne le sont pas deja.
Est ce vrai ??? si je me trompe peut etre que mes dll surchage la memoire.
2 eme : dans toute mes dlls les "form" sont crée dynamiquement
- donc je les crées , les utilisent et les ferment par un simple "close" de mes forms , et je me demande si c'est dernieres sont bien detruite ??? . si ce n'est pas le cas je vais creer autant de nouvelles forms que d'appel a cette form , ce qui va aussi surcharger ma memoire
voila merci déja d'avoir pris le temps pour me lire , et surtout si d'autres idées que les miennes vous viennent a l'esprit je suis prenneur , merci a tous , je continu mes recherches en attendant .
Partager