begin process at 2010 02 09 20:28:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Système

 > 

Mémoire

 > 

Pb Mémoire insuffisante


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb Mémoire insuffisante

mercredi 5 novembre 2008 à 18:19:40 | Pb Mémoire insuffisante

VbKenza

Salut tout le monde,  quand j'éxecute mon application sur un serveur Hp ML310 ou hp ML110 et sous un système d'exploitation windows server 2003 le système m'affiche   le message d'erreur "Erreur 7 : Mémoire insuffisante".
si vous avez une idée à propos de mon problème,veuillez me répondre s'il vous plaît.
Merci d'avance.
mercredi 5 novembre 2008 à 18:31:06 | Re : Pb Mémoire insuffisante

jmfmarques

Membre Club
Salut,

Une idée ? bien évidemment : tu as dans ton code des instructions qui aboutissent à une telle saturation.
Lesquelles ?
Ben... on ne voit rien de ton code !
mercredi 5 novembre 2008 à 18:48:50 | Re : Pb Mémoire insuffisante

PCPT

Administrateur CodeS-SourceS
Réponse acceptée !
décembre : http://www.vbfrance.com/forum/sujet-MEMOIRE-INSUFFISANTE-ERREUR_1047979.aspx
avril : http://www.vbfrance.com/forum/sujet-ERREUR-MEMOIRE-INSUFFISANTE_1105643.aspx
maintenant....

dis-donc tu balades ton problème depuis presque un an, tu poses ta question et ne donne jamais de suite?
il peut persister encore un bon moment tu sais :)

oui oui "c'est autre chose blabla", le fait est de donner suite, c'est la moindre des choses quand on demande de l'aide

bonne soirée

Prenez un instant pour répondre à ce sondage svp 
mercredi 5 novembre 2008 à 20:02:41 | Re : Pb Mémoire insuffisante

nhervagault

Administrateur CodeS-SourceS
Salut,

Je vais tenté de répondre.

As-tu un temps de réponse exponentiel?
Avec un jeu de données faible pas de probleme
avec un jeu de données importante BOOM

Essaie de diagnostiquer le problème avec le perform.exe
Regardes le comportement de ta mémoire et essaie d'isoler la fonction qui te pose problème.

Après ré étudie, l'algo en général c'est un problème d'algo.
Il y a avoir une boucle infinie dans ton code.
Ou un probleme de réinitialisation de variable.

Ferme les connections base de données.
N'oublies pas les Set objectX = Nothing
C'est les objet COM (ADO, collection, ) et les collections si tu les utilisent.

Avec un log, écrit le nombre d'objet dans les collections par exemple ou l'etat de tes gros objet.

Il peut être intéressant de logger les requêtes SQL, ou les observer (sql profiler si sql server)
Pour voir si le problème ne vient pas de là. (temps ou  taille des requetes, il faut peut être tuner ta base, index, ...)

Travailles-tu avec une base de données ou excel, si oui laquelle.

Apres la config de ton serveur peut jouer mais en général c'est les programmes qui sont mal fait.
A moins de traiter des volumes tres importants de données (des go ou +)

Le programme marche-t-il sur une autre machine même moins puissante?

Bon courage.


vendredi 7 novembre 2008 à 11:30:54 | Re : Pb Mémoire insuffisante

VbKenza

Bonjour PCPT , vous avez dit que je lance des questions sur le forum sans faire un suivi.oui vous avez raison mais je travaille pour une société mon application tourne bien sur cetrains ordi et à chaque fois ke je rencontre ce pb je me tourne vers le forum. pour mon logiciel j'ai deux version une vb + access et l'autre vb + SQL .
pour celle vb access je peut accéder à certains fenêtres et pour d'autre je reçois le message dit.et par contre je peut pas exécuter la version VB + SQL le système m'affiche le message "Erreur d'éxécution 7 : Mémoire insuffisante."

je démarre mon appli avec un sub Main dont voilà le code :

Sub Main()
Dim WindowsVersion As String
Dim ComputerNameCode As String
Dim SecuriteCode As String
Dim CurrentChar As String
Dim CurrentCharAsc As String
Dim Lng As Integer
Dim PreFixe As String
Dim i As Integer
Dim Nomserveur As String

Dim NumLicence As String
Dim NumLicenceSaisie As String
Dim MsgLicence As String
Dim CleSecret As String
Dim AscCle As String
''InitCommonControlsIsVB
ParaSociete = False
 
  ComputerName = Space(255)
  Call GetComputerName(ComputerName, 255)
  ComputerName = Mid(Trim(ComputerName), 1, 6)

  WindowsVersion = Trim(GetVersion())
  Lng = Len(ComputerName)

  PreFixe = Right(WindowsVersion, 6)
  PreFixe = Trim(Str(Val(PreFixe) + 71))

  CleSecret = Trim("Gest")
  Lng = Len(ComputerName)

  PreFixe = Right(WindowsVersion, 6)
  'ComputerName = StrToLong(Comp uterName)
  ComputerNameCode = ""
  SecuriteCode = ""

Dim j As Integer
j = 0

    For i = 1 To Lng
      CurrentCharAsc = Asc(Mid(ComputerName, i, 1))
       AscCle = Asc(Mid(CleSecret, IIf(Len(CleSecret) > i, i, 1), 1))

      CurrentChar = Hex(Val(CurrentCharAsc) + Val(AscCle))
      If Len(CurrentChar) = 1 Then
        CurrentChar = "0" & CurrentChar
      End If
      ComputerNameCode = ComputerNameCode & CurrentChar

    Next i

    For i = 1 To 6
      CurrentCharAsc = Asc(Mid(ComputerNameCode, i, 1))
       AscCle = Asc(Mid(CleSecret, IIf(Len(CleSecret) > i, i, 1), 1))
      Code1 = Code1 & Trim(CStr((Val(CurrentCharAsc) + Val(AscCle) + Val(Mid(PreFixe, IIf(Len(PreFixe) > i, i, 1), 1)))))
    Next i

Code1 = Left(Code1, 6)

'''''''''''''''''''''''''''''' 2ème code '''''''''''''''''''''''''''''''''''''
CleSecret = "ALGEST"
ComputerNameCode = ""

   For i = 1 To Lng
     CurrentCharAsc = Asc(Mid(ComputerName, i, 1))
     AscCle = Asc(Mid(CleSecret, IIf(Len(CleSecret) > i, i, 1), 1))

     CurrentChar = Hex(Val(CurrentCharAsc) + Val(AscCle))
     If Len(CurrentChar) = 1 Then
      CurrentChar = "0" & CurrentChar
     End If
      ComputerNameCode = ComputerNameCode & CurrentChar
   Next i

   For i = 1 To 6
     CurrentCharAsc = Asc(Mid(ComputerNameCode, i, 1))
     AscCle = Asc(Mid(CleSecret, IIf(Len(CleSecret) > i, i, 1), 1))
     Code2 = Code2 & Trim(CStr((Val(CurrentCharAsc) + Val(AscCle) + Val(Mid(PreFixe, IIf(Len(PreFixe) > i, i, 1), 1)))))
   Next i

Code2 = Left(Code2, 6)
'''''''''''''''''''''''''''''' 3ème code ''''''''''''''''''''''''''''''''''''
CleSecret = "MsGest"

    ComputerNameCode = ""

        For i = 1 To Lng
          CurrentCharAsc = Asc(Mid(ComputerName, i, 1))
           AscCle = Asc(Mid(CleSecret, IIf(Len(CleSecret) > i, i, 1), 1))

          CurrentChar = Hex(Val(CurrentCharAsc) + Val(AscCle))
          If Len(CurrentChar) = 1 Then
            CurrentChar = "0" & CurrentChar
          End If
          ComputerNameCode = ComputerNameCode & CurrentChar
        Next i

        For i = 1 To 6
          CurrentCharAsc = Asc(Mid(ComputerNameCode, i, 1))
           AscCle = Asc(Mid(CleSecret, IIf(Len(CleSecret) > i, i, 1), 1))

          Code3 = Code3 & Trim(CStr((Val(CurrentCharAsc) + Val(AscCle) + Val(Mid(PreFixe, IIf(Len(PreFixe) > i, i, 1), 1)))))
        Next i
Code3 = Left(Code3, 6)
'''''''''''''''''''''''''''''' 4ème code ''''''''''''''''''''''''''''''''''''

CleSecret = "COMMERCE"

    ComputerNameCode = ""

        For i = 1 To Lng
          CurrentCharAsc = Asc(Mid(ComputerName, i, 1))
           AscCle = Asc(Mid(CleSecret, IIf(Len(CleSecret) > i, i, 1), 1))

          CurrentChar = Hex(Val(CurrentCharAsc) + Val(AscCle))
          If Len(CurrentChar) = 1 Then
            CurrentChar = "0" & CurrentChar
          End If
          ComputerNameCode = ComputerNameCode & CurrentChar

        Next i

'        Directory

        For i = 1 To 6
          CurrentCharAsc = Asc(Mid(ComputerNameCode, i, 1))
           AscCle = Asc(Mid(CleSecret, IIf(Len(CleSecret) > i, i, 1), 1))
          Code4 = Code4 & Trim(CStr((Val(CurrentCharAsc) + Val(AscCle) + Val(Mid(PreFixe, IIf(Len(PreFixe) > i, i, 1), 1)))))
        Next i
Code4 = Left(Code4, 6)
    SecuriteCode = Code1 & "L" & Code2 & "o" & Code3 & "B" & Code4
'''''''''''''''''''''' Extraire la Clé ''''''''''''''''''''
Dim s As String
Dim st As String

s = Space(255)
Call GetWindowsDirectory(s, 255)

st = Left(s, Len(Trim(s)) - 1)

    Open st & "\system32\config\SysGUserKey.Don" For Random Access Read Write As #1 Len = Len(Enreg)
    NumLicence = "" 'GetSetting("SysLG", App.ProductName, "Licence", 0)
    i = Loc(1)
    If i >= 1 Then
      i = 1
      Seek #1, i
    Else
      i = LOF(1) / Len(Enreg) + 1
      If i >= 1 Then i = 1
    End If

    Get #1, i, Enreg
    NumLicence = Enreg.Cle1 & "L" & Enreg.Cle2 & "o" & Enreg.Cle3 & "B" & Enreg.Cle4
'    Close #1
'''''''''''''''''''''''''''''''''''''''''
    If NumLicence <> SecuriteCode Then
     'MsgBox "Vous avez droit à 30 accès au programme dans cas où vous n'avez pas de N°Licence." & Chr(13) & "Si vous atteignez ce nombre là vous n'avez plus possibilité d'accés au programme qu'aprés saisie du N°Licence."
      If Enreg.NbrAcces >= 30 And Enreg.NbrEssai > 3 Then
          End
      Else
      If Enreg.Gratuit = True And Enreg.NbrAcces <= 30 Then
         If MsgBox("il vous reste " & 30 - Enreg.NbrAcces & " accèes gratuit au programme, dès que vous dépasserez 30 accèes, il vous sera demandé de saisir le N°Licence." & Chr(13) & Chr(13) & "   - Si vous voulez resaisir le N°Licence Cliquez sur 'Oui'" & Chr(13) & "   - Sinon cliquez sur 'Non' pour continuer.", vbInformation + vbYesNo, App.ProductName) = vbNo Then
          i = Loc(1)
          If i > 1 Then i = 1
          Enreg.NbrAcces = Enreg.NbrAcces + 1
          Enreg.NbrEssai = 0
          Enreg.Gratuit = True
          Enreg.Cle1 = "": Enreg.Cle2 = "": Enreg.Cle3 = "": Enreg.Cle4 = ""
          Put #1, i, Enreg
         Else
           Load FrmPrincipale
           FrmPrincipale.Show vbModal
         End If
       Else
         Load FrmPrincipale
         FrmPrincipale.Show vbModal
       End If
       End If
    End If
'  End Select

  ComputerName = Space(255)
  Call GetComputerName(ComputerName, 255)
  ComputerName = Trim(ComputerName)
  ComputerName = Left(ComputerName, Len(ComputerName) - 1)
 
  Nomserveur = GetSetting(App.Title, "Settings", "ServerName", "")
 
  If Dir(App.Path & "\MsGestConfig.ini") = "" Then
  Close #1
  Open App.Path & "\MsGestConfig.ini" For Output As #1
  Close #1
  EcritIni "MsGest", "SocName", "", App.Path & "\MsGestConfig.ini"
  Dossier = ""
  End If
  If Nomserveur = "" Then
  Dossier = ""
  Else
  If ComputerName <> Nomserveur Then
  Dossier = GetSetting(App.Title, "Settings", "BdName", "")
  End If
  End If
  If Dossier = "" Then Dossier = LitIni("MsGest", "SocName", App.Path & "\MsGestConfig.ini")
    'Affichage de l'ecran de démarage
    frmSplash.Show
    If Dossier = "" Then
      FrmOuvrirSoc.Show vbModal
    Else
      frmLogin.Show vbModal
    End If
   
    If Not frmLogin.OK Then
      ''l 'ouverture de session a échoué. Application terminée
     End
    End If

  '''''''''''''L'ouverture de l'application'''''''''''''''''''''''
   
    OuvrirSoc = False
    Unload frmSplash
    Unload frmLogin
    Set fMainForm = New FrmMain

    fMainForm.Show
    MDIShow = True
    If ParaSociete = True Then
      frmEntreprise.Show
    End If
   
    ''''''''''Initialisation de la table des valeurs par défaut''''''
   
    fMainForm.sbStatusBar.Panels(2) = UCase(Utilisateur)
    ''Afficher le Chemin  complet de la base de données
   
 
    fMainForm.sbStatusBar.Panels(3).Text = UCase(Mid(Dossier, 3, 100))
   
End Sub

N.B: toutes les variables sont déclarées dans un module en mode Public.

Merci.



Cette discussion est classée dans : pb, système, mémoire, insuffisante, hp


Répondre à ce message

Sujets en rapport avec ce message

pb de mémoire à cause des nombreuse variables que je crait... [ par tn1 ] bonjour comment faire pour vider la mémoire qu'utilise la variable que je crait ???ex :je met dim variable as stringprivate sub form_load()variable = Pb avec Windows NT4 [ par appstmd ] Je rencontre un pb sous Windows NT 4 : violation d'accès, la mémoire ne peut pas être "read", mais ne possédant pas ce système, il m'est impossible de [EXCEL] mémoire insuffisante [ par boris3950 ] Bonjour,j'ai réellement besoin d'aide concernant mon message "mémoire insuffisante". Il apparaît à l'exécution d'une macro sur l'instruction "Workbook Pb : Vérification de la mémoire prise par une structure de donnée [ par Cyrik ] Salut tout le monde,Mon problème est simple, j'aimerais trouver un moyen de calculer l'espace pris par certains type de données (collection, tableau d Pb d'adressage mémoire [ par Benot ] BonjourLorsque je quitte l'exe de mon application VB5 je tombe sur une erreur :L'instruction à "0x02c515d0" emploie l'adresse mémoire "0x02d311c8". La mémoire insuffisante [ par caro999 ] Bonjour,j'ai créé une fonction qui met à jour des formules de calcul sur des onglets excel : ça fonctionne correctement mais lorsque les formules en q "mémoire virtuelle insuffisante" [ par LeoNoAiolia84 ] Salut,J'ai créé un programme avec un nombre assez important de tableaux et de variables, et lorsqu'il est executé plusieur fois de suite je reçois le Erreur 7 : mémoire insuffisante [ par maesius ] Bonjour,Voila g fait un dev qui marchait plutot bien, mais voila que sur certaine machine g cette erreure :Erreur 7 : mémoire insuffisante.Comment pui Pb de fichier - supression de l'allocation de mémoire [ par aKheNathOn ] Bonjour, j'ai un pb avec la gestion en mémoire des fichiers :J'écris un fichier linéaire en mode binaire, contenant un grand nombre de lignes, tout ça PB module chargé en mémoire [ par Alextasis ] Bonjour,J'ai un petit problème avec un module qui fonctionne en tant que service sur un serveur.ce programme scrute un répertoire et cherche des fichi


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 14,383 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales