PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → mémoire saturée par champ HTML
mémoire saturée par champ HTML
Iniciado por pourriel, set., 26 2005 5:59 PM - 6 respostas
Publicado em setembro, 26 2005 - 5:59 PM
Bonjour,

J'ai un problème avec le champ HTML (du moins l'ai-je identifié ainsi) avec la fonction :

HTML = url + code
code++

J'envoie simplement à un script php un code incrémenté (ex : http://www.site.com…)

je boucle cette fonction avec la fonction timersys, mais c'est bien du champ HTML d'où semble venir le problème, le fichier cache de windows ne cesse de croitre jusqu'à saturation (tout plante alors), pourtant dans le gestionnaire des taches/processus mon application ne consomme qu'une quantité modérée de mémoire vive.

je ne comprends pas ce qui sature autant le cache de windows et surtout comment résoudre ce problème.

merci
Publicado em setembro, 26 2005 - 6:24 PM
oui pardon, quand je parle de cache de windows je parle évidemment du swap, le fichier d'échange
Publicado em setembro, 26 2005 - 10:01 PM
on va m'accuser, à juste titre, de me faire la conversation, mais j'ai posté peut être un peu hativement précédemment, après de longues heures de galère à chercher à identifier précisément le problème (et vous savez surement comme il est peu aisé de faire fonctionner une partie en isolant les autres), j'ai clairement identifié le problème comme provenant de propriété ValeurAffichée.

En ouvrant une page web depuis un champ HTML puis en crééant une fonction bouclant :

trucbidule est une chaine = HTML..ValeurAffichée

La mémoire est très rapidement saturée (windows XP SP2), j'ai simplifié la fonction à l'extrême et le problème ne fait plus de doute (un champ HTML, un bouton, 3 lignes de code), soit j'ai mal utilisé cette propriété, soit elle est défectueuse et ne supporte pas d'appels répétés, il serait interessant que quelqu'un d'autre essaye de refaire l'opération :

bouton :

HTML = "http://www.nimportequoi.com"
TimerSys("mafonction",10)

mafonction :

mavariable est une chaine = HTML..ValeurAffichée


Je m'arrache les cheveux à me demander où j'aurais pu commettre une telle erreur et si mon windows serait en cause
Publicado em setembro, 27 2005 - 11:09 AM
bonjour,

Perso, je vois un GROS PB, si tu appelle une page web tous les 0.1
seconde, tu les affecte à une variable, j'ai du mal à croire que la
mémoire puisse suivre.

essayes avec un interval de temps plus grand et tiens nous au courant
jean-daniel


Alain Dunossoy avait écrit le 26/09/2005 :
on va m'accuser, à juste titre, de me faire la conversation, mais j'ai posté
peut être un peu hativement précédemment, après de longues heures de galère à
chercher à identifier précisément le problème (et vous savez surement comme
il est peu aisé de faire fonctionner une partie en isolant les autres), j'ai
clairement identifié le problème comme provenant de propriété ValeurAffichée.

En ouvrant une page web depuis un champ HTML puis en crééant une fonction
bouclant :

trucbidule est une chaine = HTML..ValeurAffichée

La mémoire est très rapidement saturée (windows XP SP2), j'ai simplifié la
fonction à l'extrême et le problème ne fait plus de doute (un champ HTML, un
bouton, 3 lignes de code), soit j'ai mal utilisé cette propriété, soit elle
est défectueuse et ne supporte pas d'appels répétés, il serait interessant
que quelqu'un d'autre essaye de refaire l'opération :

bouton :

HTML = "http://www.nimportequoi.com"
TimerSys("mafonction",10)

mafonction :

mavariable est une chaine = HTML..ValeurAffichée


Je m'arrache les cheveux à me demander où j'aurais pu commettre une telle
erreur et si mon windows serait en cause



--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Publicado em setembro, 27 2005 - 3:21 PM
la variable est toujours la même, rien n'explique la saturation de la mémoire, une variable n'a pas la mémoire de ses assignations précédentes, je ne comprends pas trop quel est le problème, j'ai bien essayé de changer l'intervalle, "d'économiser" sur cette fonction mais celà ne change rien du tout sinon que la mémoire sature après 1h au lieu de 10 minutes, même en se passant de la fonction lancée par timersys et en plaçant simplement un bouton avec le code mavariable = HTML..ValeurAffichée, il suffit de quelques clicks (en fonction je crois de la longueur du code source de la page) pour voir la mémoire grossir de méga en méga
Publicado em setembro, 27 2005 - 6:17 PM
je viens de faire un essai en mettant un champ html dans une fenetre et
en lançant le code ci dessous dans un bouton

ii est un entier

POUR ii=1 A 500
essai=HTML1..ValeurAffichée

FIN

a chaque clic l'utilisation de la memoire grimpe et ne redescend pas.
je confirme donc ton essai
jean-daniel



Alain Dunossoy a présenté l'énoncé suivant :
la variable est toujours la même, rien n'explique la saturation de la
mémoire, une variable n'a pas la mémoire de ses assignations précédentes, je
ne comprends pas trop quel est le problème, j'ai bien essayé de changer
l'intervalle, "d'économiser" sur cette fonction mais celà ne change rien du
tout sinon que la mémoire sature après 1h au lieu de 10 minutes, même en se
passant de la fonction lancée par timersys et en plaçant simplement un bouton
avec le code mavariable = HTML..ValeurAffichée, il suffit de quelques clicks
(en fonction je crois de la longueur du code source de la page) pour voir la
mémoire grossir de méga en méga



--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Publicado em setembro, 27 2005 - 7:06 PM
Merci d'avoir fait le test, à moins d'un malheureux hasard qui ferait que le problème ne se produirait qu'avec 2 utlisateurs (j'en doute un peu) cela confirme le fait que cette propriété est défaillante et que les developpeurs de windev ont oublié de libérer la mémoire qui lui est allouée. Même sans en arriver au cas extrême d'une utilisation intensive comme j'ai souhaité le faire, un simple appel de la fonction monopolise de la mémoire superflue et a donc une incidence sur les performances

il serait bon je pense de faire remonter l'information, je ne sais pas si le modérateur le ferait, n'étant malheureusement que stagiaire dans une entreprise utilisant windev je n'ai pas l'opportunité de le faire par moi-même, j'espère que quelqu'un lisant ce message fera transiter l'information

merci