PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile 2024 → comment liberer de la memoire
comment liberer de la memoire
Iniciado por Jean-François Carneiro, 29,abr. 2005 18:32 - 4 respuestas
Publicado el 29,abril 2005 - 18:32
mon application tourne en temps reel dans une tread infini (divers calcules tous les x secondes + envoie sur un port serie les resultats)

la memoire "in use" n'arrete pas de grimper jusqu'a ce que le programme soit ralenti au maximum (Freeze) lorsqu'il n'y a plus assez de memoire

pourtant je ne crée pas d'objet dynamique.

comment lancer un ramase miette ? ou liberer de la memoire ?

merci
Publicado el 02,mayo 2005 - 13:15
j'ai trouvé le coupable, la fonction iniEcrit + CompactFlash

je pense qu'il y a un cache memoire a vider, mais comment faire ?

merci
Publicado el 04,mayo 2005 - 15:05
Confirmation du problème,

Test de reproduction : Faire un Thread en boucle infini, qui met à jour tous les 5 secondes 20 paramètres dans un fichier .INI stocké sur de la CompactFlash. Instruction utilisée pour écrire et mettre à jour le .INI : IniEcrit.

Conséquence : La mémoire gonfle, gonfle, .......puis le tout ralenti........puis le tout bloque.

A+
Publicado el 02,septiembre 2005 - 21:37
Bonjour,

je rencontre aujourd'hui le même problème que vous.
J'ai voulu contourner le problème par un appel aux fonctions de l'API Windows, mais en vain.
La ligne de code que j'ai utilisé est la suivante:
AppelDLL32("kernel32", "GetPrivateProfileStringA" , &lpApplicationName, &lpKeyName, &lpDefault, &lpReturnedString, nSize, &lpFileName)
J'ai aussi essayé avec WritePrivateProfileStringA, mais l'application plante lamentablement en me disant qu'elle n'arrive pas à trouver kernel32 !??!

Je ne sais plus quoi faire. Et je me vois mal dire a mes clients : "Votre application plante, c'est normal, a chaque fois que vous utilisez une fonction, il faut reseter votre pocket !"

Avez vous réussi à résoudre vos problèmes ? Comment ?
D'avance merci.
Publicado el 03,septiembre 2005 - 14:01
J'ai fait un composant qui "simule" les fonctions inixxx dans un fichier HF
Si tu veux contact moi en privé .... athanor.si_no_spam@laposte.net sans le
_no_spam.

"MAHIEU Didier" <savsoft@ariahorti.fr> a écrit dans le message de news:
43187953$1@news.pcsoft.fr...
Bonjour,

je rencontre aujourd'hui le même problème que vous.
J'ai voulu contourner le problème par un appel aux fonctions de l'API
Windows, mais en vain.
La ligne de code que j'ai utilisé est la suivante:
AppelDLL32("kernel32", "GetPrivateProfileStringA" , &lpApplicationName,
&lpKeyName, &lpDefault, &lpReturnedString, nSize, &lpFileName)
J'ai aussi essayé avec WritePrivateProfileStringA, mais l'application
plante lamentablement en me disant qu'elle n'arrive pas à trouver kernel32
!??!

Je ne sais plus quoi faire. Et je me vois mal dire a mes clients : "Votre
application plante, c'est normal, a chaque fois que vous utilisez une
fonction, il faut reseter votre pocket !"

Avez vous réussi à résoudre vos problèmes ? Comment ?
D'avance merci.