Bonjour,
Dans une grid je charge mes données à partir d'un fichier texte.
tout fonctionne bien, mais, après qq. ouvertures d'autre fichiers je
constate
un ralentissement de mon programme.
Dans le gestionnaire de tache de Windows la mémoire (sur mon .EXE) augmente
à chaque chargement d'un nouveau fichiers, ce qui ralenti sérieusement mon
application.
Je suppose que l'ancien fichier doit-être toujours présent ???
Pouvez-vous me dire pourquoi et comment y remédier ,
Par avance Merci
Karl
Pour info : J'ouvre mon fichier avec un Input suivi d'un Do Loop pour le
remplissage de mes cellules de la grid.
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
Patrice Henrio
sans doute la lecture se fait dans un tableau dynamique et tu as oublié la ligne erase Tableau
"Karl" a écrit dans le message de news: 45adf07f$0$22788$
Bonjour, Dans une grid je charge mes données à partir d'un fichier texte. tout fonctionne bien, mais, après qq. ouvertures d'autre fichiers je constate un ralentissement de mon programme.
Dans le gestionnaire de tache de Windows la mémoire (sur mon .EXE) augmente à chaque chargement d'un nouveau fichiers, ce qui ralenti sérieusement mon application.
Je suppose que l'ancien fichier doit-être toujours présent ???
Pouvez-vous me dire pourquoi et comment y remédier ,
Par avance Merci Karl
Pour info : J'ouvre mon fichier avec un Input suivi d'un Do Loop pour le remplissage de mes cellules de la grid.
sans doute la lecture se fait dans un tableau dynamique et tu as oublié la
ligne erase Tableau
"Karl" <Karl@nospam.fr> a écrit dans le message de news:
45adf07f$0$22788$426a74cc@news.free.fr...
Bonjour,
Dans une grid je charge mes données à partir d'un fichier texte.
tout fonctionne bien, mais, après qq. ouvertures d'autre fichiers je
constate
un ralentissement de mon programme.
Dans le gestionnaire de tache de Windows la mémoire (sur mon .EXE)
augmente
à chaque chargement d'un nouveau fichiers, ce qui ralenti sérieusement mon
application.
Je suppose que l'ancien fichier doit-être toujours présent ???
Pouvez-vous me dire pourquoi et comment y remédier ,
Par avance Merci
Karl
Pour info : J'ouvre mon fichier avec un Input suivi d'un Do Loop pour le
remplissage de mes cellules de la grid.
sans doute la lecture se fait dans un tableau dynamique et tu as oublié la ligne erase Tableau
"Karl" a écrit dans le message de news: 45adf07f$0$22788$
Bonjour, Dans une grid je charge mes données à partir d'un fichier texte. tout fonctionne bien, mais, après qq. ouvertures d'autre fichiers je constate un ralentissement de mon programme.
Dans le gestionnaire de tache de Windows la mémoire (sur mon .EXE) augmente à chaque chargement d'un nouveau fichiers, ce qui ralenti sérieusement mon application.
Je suppose que l'ancien fichier doit-être toujours présent ???
Pouvez-vous me dire pourquoi et comment y remédier ,
Par avance Merci Karl
Pour info : J'ouvre mon fichier avec un Input suivi d'un Do Loop pour le remplissage de mes cellules de la grid.
Karl
Bonsoir, Effectivement c'est un tableau dynamique, à la fin j'ai bien mis un Erase + qq. recettes "grand-mère" mais sans succès. En fait la lenteur est constaté quand le prog et compilé. Peut-être que cela provient du contrôle ActiveX Scgrid (pour une fois que j'en achète un) Voici la fonction de mon code des fois qu'il y ai une "bourre" (je débute) Cordialement Karl
'----------- The code------------------- Public Function Ouvre_Base(FicBase As String) Dim sLigne As String Dim sDonnees() As String Dim I As Long, nbl As Long Dim F As Integer Dim nCol As Long
SCGrid1.ClearCol (Cols): SCGrid1.ClearRow (Rows) 'efface la grille
LabNomFic.Caption = "" ' Extrait le nom du fichier LabNomFic.Caption = Right(FicBase, Len(FicBase) - InStrRev(FicBase, "", -1, 1)) If FicBase <> "" Then FicBase = App.Path & "" & LabNomFic.Caption nbl = 1
' Compte le nombre de lignes dans le fichier F = FreeFile Open FicBase For Input As #F While Not EOF(F) Line Input #F, sLigne nbl = nbl + 1 Wend Close #F
' Initialisation du nombre de lignes dans SCGrid1 SCGrid1.Rows = nbl - 1 nCol = 11 ' colones
nbl = -1
' Remplissage du flexgrid F = FreeFile Open FicBase For Input As #F Do While Not EOF(F) Line Input #F, sLigne sDonnees = Split(sLigne, sSeparateur)
'Calcul la position et place les infos nbl = nbl + 1 For I = 1 To nCol - 1 SCGrid1.Text(nbl, I - 1) = sDonnees(I - 1) SCGrid1.Text(nbl, -1) = Format(nbl + 1, "0000") 'mise en forme Col1
Bonsoir,
Effectivement c'est un tableau dynamique, à la fin j'ai bien mis un Erase +
qq. recettes "grand-mère" mais sans succès.
En fait la lenteur est constaté quand le prog et compilé.
Peut-être que cela provient du contrôle ActiveX Scgrid (pour une fois que
j'en achète un)
Voici la fonction de mon code des fois qu'il y ai une "bourre" (je débute)
Cordialement Karl
'----------- The code-------------------
Public Function Ouvre_Base(FicBase As String)
Dim sLigne As String
Dim sDonnees() As String
Dim I As Long, nbl As Long
Dim F As Integer
Dim nCol As Long
SCGrid1.ClearCol (Cols): SCGrid1.ClearRow (Rows) 'efface la grille
LabNomFic.Caption = ""
' Extrait le nom du fichier
LabNomFic.Caption = Right(FicBase, Len(FicBase) - InStrRev(FicBase,
"", -1, 1))
If FicBase <> "" Then
FicBase = App.Path & "" & LabNomFic.Caption
nbl = 1
' Compte le nombre de lignes dans le fichier
F = FreeFile
Open FicBase For Input As #F
While Not EOF(F)
Line Input #F, sLigne
nbl = nbl + 1
Wend
Close #F
' Initialisation du nombre de lignes dans SCGrid1
SCGrid1.Rows = nbl - 1
nCol = 11 ' colones
nbl = -1
' Remplissage du flexgrid
F = FreeFile
Open FicBase For Input As #F
Do While Not EOF(F)
Line Input #F, sLigne
sDonnees = Split(sLigne, sSeparateur)
'Calcul la position et place les infos
nbl = nbl + 1
For I = 1 To nCol - 1
SCGrid1.Text(nbl, I - 1) = sDonnees(I - 1)
SCGrid1.Text(nbl, -1) = Format(nbl + 1, "0000") 'mise en forme
Col1
Bonsoir, Effectivement c'est un tableau dynamique, à la fin j'ai bien mis un Erase + qq. recettes "grand-mère" mais sans succès. En fait la lenteur est constaté quand le prog et compilé. Peut-être que cela provient du contrôle ActiveX Scgrid (pour une fois que j'en achète un) Voici la fonction de mon code des fois qu'il y ai une "bourre" (je débute) Cordialement Karl
'----------- The code------------------- Public Function Ouvre_Base(FicBase As String) Dim sLigne As String Dim sDonnees() As String Dim I As Long, nbl As Long Dim F As Integer Dim nCol As Long
SCGrid1.ClearCol (Cols): SCGrid1.ClearRow (Rows) 'efface la grille
LabNomFic.Caption = "" ' Extrait le nom du fichier LabNomFic.Caption = Right(FicBase, Len(FicBase) - InStrRev(FicBase, "", -1, 1)) If FicBase <> "" Then FicBase = App.Path & "" & LabNomFic.Caption nbl = 1
' Compte le nombre de lignes dans le fichier F = FreeFile Open FicBase For Input As #F While Not EOF(F) Line Input #F, sLigne nbl = nbl + 1 Wend Close #F
' Initialisation du nombre de lignes dans SCGrid1 SCGrid1.Rows = nbl - 1 nCol = 11 ' colones
nbl = -1
' Remplissage du flexgrid F = FreeFile Open FicBase For Input As #F Do While Not EOF(F) Line Input #F, sLigne sDonnees = Split(sLigne, sSeparateur)
'Calcul la position et place les infos nbl = nbl + 1 For I = 1 To nCol - 1 SCGrid1.Text(nbl, I - 1) = sDonnees(I - 1) SCGrid1.Text(nbl, -1) = Format(nbl + 1, "0000") 'mise en forme Col1
Bonsoir, Effectivement c'est un tableau dynamique, à la fin j'ai bien mis un Erase + qq. recettes "grand-mère" mais sans succès. En fait la lenteur est constaté quand le prog et compilé. Peut-être que cela provient du contrôle ActiveX Scgrid (pour une fois que j'en achète un) Voici la fonction de mon code des fois qu'il y ai une "bourre" (je débute) Cordialement Karl
Hello Karl,
Un peu difficile de dire ce qui ne va pas, à priori tout semble correct. Les hyppothèses: - Il y aurait vraiment un souci avec l'activeX Scgrid ? - OU alors; il est possible que le programme ne fasse pas ce que tu crois et qu'il sorte toujours brutalement via le On error ...
Comme le ErrHandler n'a à priori pas de raisons d'être, je ferais ceci si j'étais toi:
j'ai modifié juste la fin de la procédure, ce qui suit Erase sDonnees() :
Bonsoir,
Effectivement c'est un tableau dynamique, à la fin j'ai bien mis un
Erase + qq. recettes "grand-mère" mais sans succès.
En fait la lenteur est constaté quand le prog et compilé.
Peut-être que cela provient du contrôle ActiveX Scgrid (pour une
fois que j'en achète un)
Voici la fonction de mon code des fois qu'il y ai une "bourre" (je
débute) Cordialement Karl
Hello Karl,
Un peu difficile de dire ce qui ne va pas, à priori tout semble correct.
Les hyppothèses:
- Il y aurait vraiment un souci avec l'activeX Scgrid ?
- OU alors; il est possible que le programme ne fasse pas ce que tu
crois et qu'il sorte toujours brutalement via le On error ...
Comme le ErrHandler n'a à priori pas de raisons d'être, je ferais ceci si
j'étais toi:
j'ai modifié juste la fin de la procédure, ce qui suit Erase sDonnees() :
Bonsoir, Effectivement c'est un tableau dynamique, à la fin j'ai bien mis un Erase + qq. recettes "grand-mère" mais sans succès. En fait la lenteur est constaté quand le prog et compilé. Peut-être que cela provient du contrôle ActiveX Scgrid (pour une fois que j'en achète un) Voici la fonction de mon code des fois qu'il y ai une "bourre" (je débute) Cordialement Karl
Hello Karl,
Un peu difficile de dire ce qui ne va pas, à priori tout semble correct. Les hyppothèses: - Il y aurait vraiment un souci avec l'activeX Scgrid ? - OU alors; il est possible que le programme ne fasse pas ce que tu crois et qu'il sorte toujours brutalement via le On error ...
Comme le ErrHandler n'a à priori pas de raisons d'être, je ferais ceci si j'étais toi:
j'ai modifié juste la fin de la procédure, ce qui suit Erase sDonnees() :
Bonjour, J'avais viré la gestion d'erreur pendant mes tests, allié au debug.print pour être bien sur que mes variable étaient bien à zéro.....Mais, je pense que c'est le Scgrid. Je vais continuer a chercher pour voir d'ou vient cette fuite de mémoire. En dernier recourt je vais demander au concepteur de l'ActiveX, mais il faudra que je me concentre pour faire un laïus bien explicite en anglais (bien loin déjà)
Merci pour ton effort Jean marc
Bonne journée Kael
"Jean-marc" a écrit dans le message de news: eosma9$5vg$
Karl wrote:
Bonsoir, Effectivement c'est un tableau dynamique, à la fin j'ai bien mis un Erase + qq. recettes "grand-mère" mais sans succès. En fait la lenteur est constaté quand le prog et compilé. Peut-être que cela provient du contrôle ActiveX Scgrid (pour une fois que j'en achète un) Voici la fonction de mon code des fois qu'il y ai une "bourre" (je débute) Cordialement Karl
Hello Karl,
Un peu difficile de dire ce qui ne va pas, à priori tout semble correct. Les hyppothèses: - Il y aurait vraiment un souci avec l'activeX Scgrid ? - OU alors; il est possible que le programme ne fasse pas ce que tu crois et qu'il sorte toujours brutalement via le On error ...
Comme le ErrHandler n'a à priori pas de raisons d'être, je ferais ceci si j'étais toi:
j'ai modifié juste la fin de la procédure, ce qui suit Erase sDonnees() :
Bonjour,
J'avais viré la gestion d'erreur pendant mes tests, allié au debug.print
pour être bien sur que mes variable étaient bien à zéro.....Mais, je pense
que c'est le Scgrid.
Je vais continuer a chercher pour voir d'ou vient cette fuite de mémoire. En
dernier recourt je vais demander au concepteur de l'ActiveX, mais il faudra
que je me concentre pour faire un laïus bien explicite en anglais (bien loin
déjà)
Merci pour ton effort Jean marc
Bonne journée
Kael
"Jean-marc" <NO_SPAM_jean_marc_n2@yahoo.fr.invalid> a écrit dans le message
de news: eosma9$5vg$1@aioe.org...
Karl wrote:
Bonsoir,
Effectivement c'est un tableau dynamique, à la fin j'ai bien mis un
Erase + qq. recettes "grand-mère" mais sans succès.
En fait la lenteur est constaté quand le prog et compilé.
Peut-être que cela provient du contrôle ActiveX Scgrid (pour une
fois que j'en achète un)
Voici la fonction de mon code des fois qu'il y ai une "bourre" (je
débute) Cordialement Karl
Hello Karl,
Un peu difficile de dire ce qui ne va pas, à priori tout semble correct.
Les hyppothèses:
- Il y aurait vraiment un souci avec l'activeX Scgrid ?
- OU alors; il est possible que le programme ne fasse pas ce que tu
crois et qu'il sorte toujours brutalement via le On error ...
Comme le ErrHandler n'a à priori pas de raisons d'être, je ferais ceci si
j'étais toi:
j'ai modifié juste la fin de la procédure, ce qui suit Erase sDonnees() :
Bonjour, J'avais viré la gestion d'erreur pendant mes tests, allié au debug.print pour être bien sur que mes variable étaient bien à zéro.....Mais, je pense que c'est le Scgrid. Je vais continuer a chercher pour voir d'ou vient cette fuite de mémoire. En dernier recourt je vais demander au concepteur de l'ActiveX, mais il faudra que je me concentre pour faire un laïus bien explicite en anglais (bien loin déjà)
Merci pour ton effort Jean marc
Bonne journée Kael
"Jean-marc" a écrit dans le message de news: eosma9$5vg$
Karl wrote:
Bonsoir, Effectivement c'est un tableau dynamique, à la fin j'ai bien mis un Erase + qq. recettes "grand-mère" mais sans succès. En fait la lenteur est constaté quand le prog et compilé. Peut-être que cela provient du contrôle ActiveX Scgrid (pour une fois que j'en achète un) Voici la fonction de mon code des fois qu'il y ai une "bourre" (je débute) Cordialement Karl
Hello Karl,
Un peu difficile de dire ce qui ne va pas, à priori tout semble correct. Les hyppothèses: - Il y aurait vraiment un souci avec l'activeX Scgrid ? - OU alors; il est possible que le programme ne fasse pas ce que tu crois et qu'il sorte toujours brutalement via le On error ...
Comme le ErrHandler n'a à priori pas de raisons d'être, je ferais ceci si j'étais toi:
j'ai modifié juste la fin de la procédure, ce qui suit Erase sDonnees() :
Je reviens pour apporter une dernière observation sur le comportement du programme et de l'ActiveX Scgrid. Développé sous XP Home en VB6, j'ai transporté mon application sur Windows 2000 / VB6 (au pro) et là curieusement, je n'ai pas le problème de lenteur d'affichage de la grille.
Bon, si qq'un connaît l'explication du phénomène, je serais moins "newbit" aujourd'hui.
Karl
Je reviens pour apporter une dernière observation sur le comportement du
programme et de l'ActiveX Scgrid.
Développé sous XP Home en VB6, j'ai transporté mon application sur Windows
2000 / VB6 (au pro) et là curieusement, je n'ai pas le problème de lenteur
d'affichage de la grille.
Bon, si qq'un connaît l'explication du phénomène, je serais moins "newbit"
aujourd'hui.
Je reviens pour apporter une dernière observation sur le comportement du programme et de l'ActiveX Scgrid. Développé sous XP Home en VB6, j'ai transporté mon application sur Windows 2000 / VB6 (au pro) et là curieusement, je n'ai pas le problème de lenteur d'affichage de la grille.
Bon, si qq'un connaît l'explication du phénomène, je serais moins "newbit" aujourd'hui.