Out of memory 7

Le
jfd
Bonjour à tous
J’ai besoin d’un petit cours ou d’une piste expliquant un peu la libération
de la mémoire ou ??? en effet sur certains postes je provoque un message ‘
Run Time error 7 out of memorry ‘( ensuite delete et import de certain
forms, tout est ok fermeture réouverture de la base et RE out of memory),
cela d’après mes recherches semble être provoqué par des variables objet non
libérées.( Merci M Inisan)
Merci de vos conseils et bon week-end à tous.
ACCESS 2003 sur XP Anglais et japonais.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #17643061
Salut,

"jfd"
| J’ai besoin d’un petit cours ou d’une piste expliquant un peu la libération
| de la mémoire ou ??? en effet sur certains postes je provoque un message ‘
| Run Time error 7 out of memorry ‘( ensuite delete et import de certain
| forms, tout est ok fermeture réouverture de la base et RE out of memory),
| cela d’après mes recherches semble être provoqué par des variables objet non
| libérées.( Merci M Inisan)
| Merci de vos conseils et bon week-end à tous.
| ACCESS 2003 sur XP Anglais et japonais.


Access est assez glouton en mémoire, bien plus que Word ou Excel...
Il faut donc un minimum de mémoire disponible pour travailler sérieusement,
raison de plus si le poste tourne sous Vista ;-)

Pour ce qui est de la "libération" de la mémoire, il faut effectivement
veiller (comme tu l'as lu) à libérer la mémoire en "vidant" les variables utilisées.
Donc, tout Set machin = ... doit être libéré par un Set machin = Noting

Il faut aussi faire compacter la base sur fermeture...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
jfd
Le #17643751
Une fois de plus Merci :-)
Je vais essayer de résoudre mon problème avec

"Set machin = ... doit être libéré par un Set machin = Not"hhhh"ing
La base est compactée à fermeture et cela ne change rien à mes problèmes.
Merci Pierre et aussi à tous ceux qui nous font progrésser.
jfd


Salut,

"jfd"
| J’ai besoin d’un petit cours ou d’une piste expliquant un peu la libération
| de la mémoire ou ??? en effet sur certains postes je provoque un message ‘
| Run Time error 7 out of memorry ‘( ensuite delete et import de certain
| forms, tout est ok fermeture réouverture de la base et RE out of memory),
| cela d’après mes recherches semble être provoqué par des variables objet non
| libérées.( Merci M Inisan)
| Merci de vos conseils et bon week-end à tous.
| ACCESS 2003 sur XP Anglais et japonais.


Access est assez glouton en mémoire, bien plus que Word ou Excel...
Il faut donc un minimum de mémoire disponible pour travailler sérieusement,
raison de plus si le poste tourne sous Vista ;-)

Pour ce qui est de la "libération" de la mémoire, il faut effectivement
veiller (comme tu l'as lu) à libérer la mémoire en "vidant" les variables utilisées.
Donc, tout Set machin = ... doit être libéré par un Set machin = Noting

Il faut aussi faire compacter la base sur fermeture...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)





jfd
Le #17643851
Question le
Set machin = Nothing ?
Doit être placé en fin de procédure ........désolé.
j'ai du mal à comprendre le pourquoi cela passe sur cetaines configs et pas
d'autres.
Merci et bon dimanche
jfd
3stone
Le #17650431
Salut,

"jfd"
| Question le
| Set machin = Nothing ?
| Doit être placé en fin de procédure ........désolé.


Oui, si dans la sub tu utilises des "Set machin=... " ;-)
il faut également *et avant de quitter cette sub* libérer cette variable
par un "Set machin= Nothing"


| j'ai du mal à comprendre le pourquoi cela passe sur cetaines configs et pas
| d'autres.

"Cela passe", n'est qu'une (fausse) impression...

Tu peux avoir le cas où tu "passes" une seule fois dans la sub, à l'ouverture
d'un formulaire, par exemple. Mais tu peux aussi appeller une sub ou fonction
à chaque ligne d'une requête et là... après quelques millions d'appels
- sans libérer tes variables - donneront un résultat très différent.
Par ailleurs, "certaines config" peuvent être plus étriquées au niveau de la
mémoire réellement libre.
Evidement, à la fermeture de la base, on oublie tout et on... recommence ;-)

Ceci dit, le "Out of memory" n'a parfois rien à voir avec un réel problème
de mémoire disponible et est un peu trop générique.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
jfd
Le #17651061
Bonsoir Pierre
Ok pour les « set machin = nothing » afin de libérer la mémoire
Depuis quelques mois, j’ai repris tous les éléments de ma base afin de
pouvoir l’ouvrir sur des ordis de toutes langues.(pas sans galère d’ailleurs
les messages d'erreurs n’ayant parfois rien à voir avec la cause de
l’erreur qui est souvent un accent oublié)
Sur le même ordi Pentium 4 à 2Ghz, 1GB de ram Disque 60 GB
Disque C : XP Japonais, 12 GB libre
DisqueE : XP Anglais , 24GB de libre
Sur Xp anglais aucun soucis, sur vista Fr et XP Fr autres ordi idem.
Sur XP Jap j’ouvre ma base maintenant sans problème tous les forms semblent
passer, sans aucun changement j’obtiens souvent après réouverture un out of
memory .
Avec souvent un arret sur cette procédure
Public Function SymboleMonetaireRegional() As String
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim pos As Integer
Dim LOCALE As Long

LOCALE = GetUserDefaultLCID()
iRet1 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, lpLCDataVar, 0)

Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(LOCALE, LOCALE_SCURRENCY, Symbol, iRet1)
pos = InStr(Symbol, Chr$(0))
If pos > 0 Then
Symbol = Left$(Symbol, pos - 1)
SymboleMonetaireRegional = Symbol
End If
End Function

Sur Fermeture je compacte et effectue une copie de la base.
Dois-je fermer autrement que par DoCmd .Quit ?

DoCmd.RunCommand acCmdAppMinimize
Call CopyFilejf(Me.txtFrom, Me.txtTo)
Dim stDocName As String
fCompactBase CurrentProject.Path & "NR tab.mdb"
DoCmd.Quit

Après de nombreuses heures de recherche je reste sans piste précise sur ce
Run-Time error ‘7’ Out of Memory……………..
Merci du temps passé nous aider à progresser et bonne fin de soirée.
jfd


"3stone" a écrit :

Salut,

"jfd"
| Question le
| Set machin = Nothing ?
| Doit être placé en fin de procédure ........désolé.


Oui, si dans la sub tu utilises des "Set machin=... " ;-)
il faut également *et avant de quitter cette sub* libérer cette variable
par un "Set machin= Nothing"


| j'ai du mal à comprendre le pourquoi cela passe sur cetaines configs et pas
| d'autres.

"Cela passe", n'est qu'une (fausse) impression...

Tu peux avoir le cas où tu "passes" une seule fois dans la sub, à l'ouverture
d'un formulaire, par exemple. Mais tu peux aussi appeller une sub ou fonction
à chaque ligne d'une requête et là... après quelques millions d'appels
- sans libérer tes variables - donneront un résultat très différent.
Par ailleurs, "certaines config" peuvent être plus étriquées au niveau de la
mémoire réellement libre.
Evidement, à la fermeture de la base, on oublie tout et on... recommence ;-)

Ceci dit, le "Out of memory" n'a parfois rien à voir avec un réel problème
de mémoire disponible et est un peu trop générique.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




3stone
Le #17658151
Salut,

"jfd"
| Ok pour les « set machin = nothing » afin de libérer la mémoire
| Depuis quelques mois, j’ai repris tous les éléments de ma base afin de
| pouvoir l’ouvrir sur des ordis de toutes langues.(pas sans galère d’ailleurs
| les messages d'erreurs n’ayant parfois rien à voir avec la cause de
| l’erreur qui est souvent un accent oublié)

Les descriptions de champ et le libelé des étiquettes dans les formulaires
sont là pour être agréable à l'utilisateur.
Pour ce qui est du noms des champs, je ne demords pas du fait qu'il
faut dès le départ éviter toute complication et peau de bananne.
Ainsi, je n'utilise que des caractères non-accentués, minuscules et majuscules,
sans aucun caractère barbare du style "+", "-", "°" ou autres espaces.
Les zones de texte sont préfixés "txt", idem pour les autres contrôles qui
deviennent des ckb, lst etc...
Les tables prennent un 's' 'tblClients' et pas les champs 'NomClient'.
En fait, chacun peut utiliser ses propres règles, mais en utiliser est le
gage d'une aisance de travail.


| Sur le même ordi Pentium 4 à 2Ghz, 1GB de ram Disque 60 GB

1 Gb de RAM 'devrait' suffire... Mais, pour t'en assurer, installe un de
ces petits softs qui te donnent tout les détails.


| Public Function SymboleMonetaireRegional() As String


Cette fonction être digérée par toutes les familles de Windows;
mais pas d'idée pour un Windows chinois, ou japonnais... ;-)


| Sur Fermeture je compacte et effectue une copie de la base.
| Dois-je fermer autrement que par DoCmd .Quit ?

Fermer tous les formulaires avant, est simplement prudent...

Je peux encore juste te conseiller d'ajouter 1 ou 2 Gb de RAM, ne fusse
que pour test - actuellement on les recoit avec un paquet de lessive ;-)
et de vérifier l'évolution de la mémoire.
Les tables temporaires, les requêtes imbriquées, le manque d'index
sont autant de consommateurs qu'il faut tenter d'isoler pour éventuellement
amméliorer ou corriger la méthode.

Bonne traque!

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
jfd
Le #17722951
Bonjour à tous
Désolé Pierre je n'avais pas vu cette réponse, merci à toi, je traque
toujours…
-1 Gb de RAM 'devrait' suffire... Mais, pour t'en assurer, installe un de
ces petits softs qui te donnent tout les détails.

Je ne peux pas rajouter de mémoire je suis au max. A quel type de soft
penses-tu ?
je suis encore sur mes deux forms à problème avec un coup sa marche un coup
sa bloque..
sur XP Jap
avec soit le message « Run-time error 7 »
soit un « the open form action was canceled »
Bon dimanche
jfd


"3stone" a écrit :

Salut,

"jfd"
| Ok pour les « set machin = nothing » afin de libérer la mémoire
| Depuis quelques mois, j’ai repris tous les éléments de ma base afin de
| pouvoir l’ouvrir sur des ordis de toutes langues.(pas sans galère d’ailleurs
| les messages d'erreurs n’ayant parfois rien à voir avec la cause de
| l’erreur qui est souvent un accent oublié)

Les descriptions de champ et le libelé des étiquettes dans les formulaires
sont là pour être agréable à l'utilisateur.
Pour ce qui est du noms des champs, je ne demords pas du fait qu'il
faut dès le départ éviter toute complication et peau de bananne.
Ainsi, je n'utilise que des caractères non-accentués, minuscules et majuscules,
sans aucun caractère barbare du style "+", "-", "°" ou autres espaces.
Les zones de texte sont préfixés "txt", idem pour les autres contrôles qui
deviennent des ckb, lst etc...
Les tables prennent un 's' 'tblClients' et pas les champs 'NomClient'.
En fait, chacun peut utiliser ses propres règles, mais en utiliser est le
gage d'une aisance de travail.


| Sur le même ordi Pentium 4 à 2Ghz, 1GB de ram Disque 60 GB

1 Gb de RAM 'devrait' suffire... Mais, pour t'en assurer, installe un de
ces petits softs qui te donnent tout les détails.


| Public Function SymboleMonetaireRegional() As String


Cette fonction être digérée par toutes les familles de Windows;
mais pas d'idée pour un Windows chinois, ou japonnais... ;-)


| Sur Fermeture je compacte et effectue une copie de la base.
| Dois-je fermer autrement que par DoCmd .Quit ?

Fermer tous les formulaires avant, est simplement prudent...

Je peux encore juste te conseiller d'ajouter 1 ou 2 Gb de RAM, ne fusse
que pour test - actuellement on les recoit avec un paquet de lessive ;-)
et de vérifier l'évolution de la mémoire.
Les tables temporaires, les requêtes imbriquées, le manque d'index
sont autant de consommateurs qu'il faut tenter d'isoler pour éventuellement
amméliorer ou corriger la méthode.

Bonne traque!

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




3stone
Le #17767451
Salut,

"jfd"
[...]
| Je ne peux pas rajouter de mémoire je suis au max. A quel type de soft
| penses-tu ?


A aucun en particulier ou précisement, mais...
http://www.clubic.com/telecharger/windows/

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
jfd
Le #17770531
OK, Merci Pierre



"3stone" a écrit :

Salut,

"jfd"
[...]
| Je ne peux pas rajouter de mémoire je suis au max. A quel type de soft
| penses-tu ?


A aucun en particulier ou précisement, mais...
http://www.clubic.com/telecharger/windows/

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Publicité
Poster une réponse
Anonyme