Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait
une requête sur un fichier afin de tester quelques enregistrements.
Boucle
Si hexecuteRequeteSQL(MaRequette,....) alors
hlitpremier(MaRequette)
Tantque pas hendehors()
// Traitement
hLitSuviant(Marquette)
Fin
HlibereRequette(MaRequette)
fin
ThreadPause(100)
si faux alors sortir
fin
Je me retrouve avec une augmentation constante de l'utilisation de
mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la
fermeture de la fenêtre exécutant le thread.
Si vous avez des pistes pour résoudre cette fuite de mémoire.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fredo
Le 09/12/2011 22:16, Fredo a écrit :
Bonsoir,
Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait une requête sur un fichier afin de tester quelques enregistrements.
Boucle Si hexecuteRequeteSQL(MaRequette,....) alors hlitpremier(MaRequette) Tantque pas hendehors() // Traitement
hLitSuviant(Marquette) Fin HlibereRequette(MaRequette) fin ThreadPause(100)
si faux alors sortir
fin
Je me retrouve avec une augmentation constante de l'utilisation de mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la fermeture de la fenêtre exécutant le thread.
Si vous avez des pistes pour résoudre cette fuite de mémoire.
Merci d'avance,
Fred.
Complément d'information, si je remplace la requette par un hfiltre, hlitpremier, ... il n'y a plus de soucis.
Cela semble donc bien être lié à la requette.
Fred
Le 09/12/2011 22:16, Fredo a écrit :
Bonsoir,
Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait
une requête sur un fichier afin de tester quelques enregistrements.
Boucle
Si hexecuteRequeteSQL(MaRequette,....) alors
hlitpremier(MaRequette)
Tantque pas hendehors()
// Traitement
hLitSuviant(Marquette)
Fin
HlibereRequette(MaRequette)
fin
ThreadPause(100)
si faux alors sortir
fin
Je me retrouve avec une augmentation constante de l'utilisation de
mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la
fermeture de la fenêtre exécutant le thread.
Si vous avez des pistes pour résoudre cette fuite de mémoire.
Merci d'avance,
Fred.
Complément d'information, si je remplace la requette par un hfiltre,
hlitpremier, ... il n'y a plus de soucis.
Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait une requête sur un fichier afin de tester quelques enregistrements.
Boucle Si hexecuteRequeteSQL(MaRequette,....) alors hlitpremier(MaRequette) Tantque pas hendehors() // Traitement
hLitSuviant(Marquette) Fin HlibereRequette(MaRequette) fin ThreadPause(100)
si faux alors sortir
fin
Je me retrouve avec une augmentation constante de l'utilisation de mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la fermeture de la fenêtre exécutant le thread.
Si vous avez des pistes pour résoudre cette fuite de mémoire.
Merci d'avance,
Fred.
Complément d'information, si je remplace la requette par un hfiltre, hlitpremier, ... il n'y a plus de soucis.
Cela semble donc bien être lié à la requette.
Fred
tjfromparis
tu peux essayer une syntaxe légèrement différente
Maproc (=> dans un thread) boucle Fonction_controle() fin Fin
Fonction_controle (avec copie de contexte non threadé) Si hexecuteRequeteSQL(MaRequette,....) alors hlitpremier(MaRequette) Tantque pas hendehors() // Traitement
hLitSuviant(Marquette) Fin HlibereRequette(MaRequette) fin si faux alors sortir fin
On 10 déc, 08:56, Fredo wrote:
Le 09/12/2011 22:16, Fredo a écrit :
> Bonsoir,
> Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait > une requête sur un fichier afin de tester quelques enregistrements.
> Boucle > Si hexecuteRequeteSQL(MaRequette,....) alors > hlitpremier(MaRequette) > Tantque pas hendehors() > // Traitement
> hLitSuviant(Marquette) > Fin > HlibereRequette(MaRequette) > fin > ThreadPause(100)
> si faux alors sortir
> fin
> Je me retrouve avec une augmentation constante de l'utilisation de > mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la > fermeture de la fenêtre exécutant le thread.
> Si vous avez des pistes pour résoudre cette fuite de mémoire.
> Merci d'avance,
> Fred.
Complément d'information, si je remplace la requette par un hfiltre, hlitpremier, ... il n'y a plus de soucis.
Cela semble donc bien être lié à la requette.
Fred
tu peux essayer une syntaxe légèrement différente
Maproc (=> dans un thread)
boucle
Fonction_controle()
fin
Fin
Fonction_controle (avec copie de contexte non threadé)
Si hexecuteRequeteSQL(MaRequette,....) alors
hlitpremier(MaRequette)
Tantque pas hendehors()
// Traitement
hLitSuviant(Marquette)
Fin
HlibereRequette(MaRequette)
fin
si faux alors sortir
fin
On 10 déc, 08:56, Fredo <Fr...@gb-informatique.com> wrote:
Le 09/12/2011 22:16, Fredo a écrit :
> Bonsoir,
> Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait
> une requête sur un fichier afin de tester quelques enregistrements.
> Boucle
> Si hexecuteRequeteSQL(MaRequette,....) alors
> hlitpremier(MaRequette)
> Tantque pas hendehors()
> // Traitement
> hLitSuviant(Marquette)
> Fin
> HlibereRequette(MaRequette)
> fin
> ThreadPause(100)
> si faux alors sortir
> fin
> Je me retrouve avec une augmentation constante de l'utilisation de
> mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la
> fermeture de la fenêtre exécutant le thread.
> Si vous avez des pistes pour résoudre cette fuite de mémoire.
> Merci d'avance,
> Fred.
Complément d'information, si je remplace la requette par un hfiltre,
hlitpremier, ... il n'y a plus de soucis.
Maproc (=> dans un thread) boucle Fonction_controle() fin Fin
Fonction_controle (avec copie de contexte non threadé) Si hexecuteRequeteSQL(MaRequette,....) alors hlitpremier(MaRequette) Tantque pas hendehors() // Traitement
hLitSuviant(Marquette) Fin HlibereRequette(MaRequette) fin si faux alors sortir fin
On 10 déc, 08:56, Fredo wrote:
Le 09/12/2011 22:16, Fredo a écrit :
> Bonsoir,
> Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait > une requête sur un fichier afin de tester quelques enregistrements.
> Boucle > Si hexecuteRequeteSQL(MaRequette,....) alors > hlitpremier(MaRequette) > Tantque pas hendehors() > // Traitement
> hLitSuviant(Marquette) > Fin > HlibereRequette(MaRequette) > fin > ThreadPause(100)
> si faux alors sortir
> fin
> Je me retrouve avec une augmentation constante de l'utilisation de > mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la > fermeture de la fenêtre exécutant le thread.
> Si vous avez des pistes pour résoudre cette fuite de mémoire.
> Merci d'avance,
> Fred.
Complément d'information, si je remplace la requette par un hfiltre, hlitpremier, ... il n'y a plus de soucis.
Cela semble donc bien être lié à la requette.
Fred
Fredo
Salut,
Problème résolu ... et cela ne vient pas directement de la requête.
Pour aller vite car je ne me rappelais plus de la fonction SQL équivalente du position de windev (instr) j'ai testé la position d'une chaine en mettant :
"Where wl.position(MaVal,'TOTO')" au lieu de "Where instr(MaVal,'TOTO')"
et c'est le wl.position qui provoque le memory leak. J'ai modifié le code et tout roule à nouveau et j'ai remonté l'info à PCSOFT.
Merci encore.
Fred
Le 12/12/2011 09:39, a écrit :
tu peux essayer une syntaxe légèrement différente
Maproc (=> dans un thread) boucle Fonction_controle() fin Fin
Fonction_controle (avec copie de contexte non threadé) Si hexecuteRequeteSQL(MaRequette,....) alors hlitpremier(MaRequette) Tantque pas hendehors() // Traitement
hLitSuviant(Marquette) Fin HlibereRequette(MaRequette) fin si faux alors sortir fin
On 10 déc, 08:56, Fredo wrote:
Le 09/12/2011 22:16, Fredo a écrit :
Bonsoir,
Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait une requête sur un fichier afin de tester quelques enregistrements.
Boucle Si hexecuteRequeteSQL(MaRequette,....) alors hlitpremier(MaRequette) Tantque pas hendehors() // Traitement
hLitSuviant(Marquette) Fin HlibereRequette(MaRequette) fin ThreadPause(100)
si faux alors sortir
fin
Je me retrouve avec une augmentation constante de l'utilisation de mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la fermeture de la fenêtre exécutant le thread.
Si vous avez des pistes pour résoudre cette fuite de mémoire.
Merci d'avance,
Fred.
Complément d'information, si je remplace la requette par un hfiltre, hlitpremier, ... il n'y a plus de soucis.
Cela semble donc bien être lié à la requette.
Fred
Salut,
Problème résolu ... et cela ne vient pas directement de la requête.
Pour aller vite car je ne me rappelais plus de la fonction SQL
équivalente du position de windev (instr) j'ai testé la position d'une
chaine en mettant :
"Where wl.position(MaVal,'TOTO')" au lieu de "Where instr(MaVal,'TOTO')"
et c'est le wl.position qui provoque le memory leak. J'ai modifié le
code et tout roule à nouveau et j'ai remonté l'info à PCSOFT.
Merci encore.
Fred
Le 12/12/2011 09:39, tjfromparis@gmail.com a écrit :
tu peux essayer une syntaxe légèrement différente
Maproc (=> dans un thread)
boucle
Fonction_controle()
fin
Fin
Fonction_controle (avec copie de contexte non threadé)
Si hexecuteRequeteSQL(MaRequette,....) alors
hlitpremier(MaRequette)
Tantque pas hendehors()
// Traitement
hLitSuviant(Marquette)
Fin
HlibereRequette(MaRequette)
fin
si faux alors sortir
fin
On 10 déc, 08:56, Fredo<Fr...@gb-informatique.com> wrote:
Le 09/12/2011 22:16, Fredo a écrit :
Bonsoir,
Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait
une requête sur un fichier afin de tester quelques enregistrements.
Boucle
Si hexecuteRequeteSQL(MaRequette,....) alors
hlitpremier(MaRequette)
Tantque pas hendehors()
// Traitement
hLitSuviant(Marquette)
Fin
HlibereRequette(MaRequette)
fin
ThreadPause(100)
si faux alors sortir
fin
Je me retrouve avec une augmentation constante de l'utilisation de
mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la
fermeture de la fenêtre exécutant le thread.
Si vous avez des pistes pour résoudre cette fuite de mémoire.
Merci d'avance,
Fred.
Complément d'information, si je remplace la requette par un hfiltre,
hlitpremier, ... il n'y a plus de soucis.
Problème résolu ... et cela ne vient pas directement de la requête.
Pour aller vite car je ne me rappelais plus de la fonction SQL équivalente du position de windev (instr) j'ai testé la position d'une chaine en mettant :
"Where wl.position(MaVal,'TOTO')" au lieu de "Where instr(MaVal,'TOTO')"
et c'est le wl.position qui provoque le memory leak. J'ai modifié le code et tout roule à nouveau et j'ai remonté l'info à PCSOFT.
Merci encore.
Fred
Le 12/12/2011 09:39, a écrit :
tu peux essayer une syntaxe légèrement différente
Maproc (=> dans un thread) boucle Fonction_controle() fin Fin
Fonction_controle (avec copie de contexte non threadé) Si hexecuteRequeteSQL(MaRequette,....) alors hlitpremier(MaRequette) Tantque pas hendehors() // Traitement
hLitSuviant(Marquette) Fin HlibereRequette(MaRequette) fin si faux alors sortir fin
On 10 déc, 08:56, Fredo wrote:
Le 09/12/2011 22:16, Fredo a écrit :
Bonsoir,
Dans un thread manuel (threadexecute, utilisation d'hyperfile) je fait une requête sur un fichier afin de tester quelques enregistrements.
Boucle Si hexecuteRequeteSQL(MaRequette,....) alors hlitpremier(MaRequette) Tantque pas hendehors() // Traitement
hLitSuviant(Marquette) Fin HlibereRequette(MaRequette) fin ThreadPause(100)
si faux alors sortir
fin
Je me retrouve avec une augmentation constante de l'utilisation de mémoire (executable ou mode test) de quelques dizainnes de ko jusqu'a la fermeture de la fenêtre exécutant le thread.
Si vous avez des pistes pour résoudre cette fuite de mémoire.
Merci d'avance,
Fred.
Complément d'information, si je remplace la requette par un hfiltre, hlitpremier, ... il n'y a plus de soucis.