IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[]Augmenter la taille de la pile des appels ? [Trucs & Astuces]


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut []Augmenter la taille de la pile des appels ?
    Bonjour,

    J'utilise actuellement une librairie de décodage d'image qui utilise une grande quantité ( plusieurs Mo je pense ) de mémoire STACK. A l'appel de ma fonction de décodage, j'ai le message d'erreur suivant: "Espace de pile insuffisant". Je voudrais donc augmenter la taille de cette pile. Est-ce possible en VB6 ?

    Merci d'avance pour vos réponses.

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    J'ai lu sur des newsgroups ( http://groups.google.fr/group/comp.l...d12d2239554103 )
    que la taille de cette pile d'une application VB6 est fixée à 1Mo et augmente dynamiquement en cas de besoin si de la mémoire est encore disponible sur le système. Est-ce exact? Mon problème peut-il venir du fait que j'ai seulement 256 Mo de RAM sur mon PC?
    Sinon quelqu'un a-t-il des détails sur la gestion de cette pile?

    Merci beaucoup d'avance.

  3. #3
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    Tu es sur qu'il ne s'agit pas d'une recursivité sans condition d'arret? A ma connaissance, tu ne peux pas jouer sur la taille de la pile.

    De plus VB n'est pas vraiment fait pour faire du traitement d'image.

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse mais je suis certain qu'il n'y a pas de récursivité infinie. La librairie que j'utilise est connue pour utiliser beaucoup de mémoire dans la pile.
    En revanche, le décodage d'image à proprement parlé se fait dans une DLL écrite en C et intégrée à mon application VB6. En fait VB ne me sert que pour l'affichage. Mais c'est bien VB6 qui détermine la taille de la pile, hélas...
    Merci quand même.
    Existe-t-il des moyens de contourner ce problème ?

  5. #5
    HPJ
    HPJ est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Sinon il reste toujours la possibilité de modifier la taille de la pile dans l'entête de l'exécutable lui-même.

    Si tu as un éditeur hexadécimal, ouvre l'exécutable:
    A l'adresse 3Ch: les 4 octets représentent l'adresse du bloc PE
    A l'adresse PE + 5Fh: les 4 octets représentent la taille max de la pile, il suffit de la modifier en espérant que ça perturbe pas VB...

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse. Surtout qu'elle a l'air de marcher!
    J'ai modifié les quatre octets à partir de l'adresse 'Adresse PE+0x5F' et mon décodage ne provoque plus de dépassement de pile. Je n'ai pas détecté pour l'instant de problème de comportement de mon exe. En un mot:
    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Augmenter la taille de la pile (stack) avec -Xss<size>
    Par linuxeur dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/02/2010, 10h36
  2. [Toutes versions] VBA - Augmenter la taille de la pile d'exécution
    Par =JBO= dans le forum Contribuez
    Réponses: 0
    Dernier message: 24/04/2009, 13h40
  3. Pile des appels
    Par s.echeff dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/02/2009, 17h47
  4. Augmenter la taille de la pile.
    Par joa_tcherno dans le forum C#
    Réponses: 9
    Dernier message: 21/04/2008, 23h19
  5. [TPW] Comment peut-on augmenter la taille de la pile ?
    Par zarda dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 29/10/2007, 19h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo