PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Saturation mémoire vive ZoneRépétée par programmation sur UWD10 ARM
Saturation mémoire vive ZoneRépétée par programmation sur UWD10 ARM
Iniciado por X2BF3, 09,feb. 2019 23:17 - 1 respuesta
Miembro registrado
8 mensajes
Publicado el 09,febrero 2019 - 23:17
Bonjour,

Je rencontre un problème de débordement de mémoire vive en utilisant une zone répétée alimentée par programmation sur Universal Windows 10 ARM.

Home.ZoneRépétée_Stick_détail_selection..Visible=Faux
ZoneRépétéeSupprimeTout(Home.ZoneRépétée_Stick_détail_selection)
ZoneRépétéeAjouteLigne(Home.ZoneRépétée_Stick_détail_selection, ... )
Home.ZoneRépétée_Stick_détail_selection..Visible=Vrai


Si je masque la dernière ligne de code, l'affichage de la zone répétée ne se fait pas mais contient les données et il n'y a pas de problème de débordement.

Si je l'affiche, j'ai en moyenne 8 Mo par itération ... ce qui fait rapidement déborder la mémoire de 1Go disponible.

Y a t il des précautions à prendre ?
Je n'ai pas ce soucis sur Windows 10 32/64 bit ...
En plus il y a pas mal de fonctions non disponibles en Universal Windows 10.

Un grand merci par avance !
Miembro registrado
8 mensajes
Publicado el 10,febrero 2019 - 19:05
J'ai également essayé avec un "Liste" et j'ai le même problème.
Ce qui semble poser problème est l'affichage.

J'ai essayé en faisant :
- zone répétée avec images ou sans images, avec ou sans coloration personnalisé de l’arrière plan des lignes e : même problème
- une fenêtre fille contenant cette zone répétée, que je ferme par la suite : même problème
- en remplacement la zone affichée par plusieurs liste (bricolage) avec coloration : même problème
- en intégrant les traitement graphiques dans la zone répétée, ou dans des procédures locales, ou globales : même problème

Les mêmes traitements ne semblent pas poser de soucis lorsque les éléments sont masqués (..visible=faux) ce qui rends impossible l'utilisation !

La mémoire vive se remplie jusqu'à ce qu'elle soit pleine.

Existe t il :
- des fonctions pour décharger la mémoire
- des fonctions pour forcer "une purge graphique" de l'application

Celle ci ne marche pas sur Universal Windows 10 (ARM) installé sur un raspberry, car API() n'est pas reconnue :

LOCAL
nHDL est entier
RetourFonction est un entier

SI SysVersionWindows(sysVersionPlateForme)="NT" ALORS
nHDL=API("Kernel32","GetCurrentProcess")
RetourFonction=API("psapi","EmptyWorkingSet",nHDL)
SI RetourFonction = 0 ALORS Erreur(ErreurInfo()) ; RETOUR
FIN


Help !