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

Macros et VBA Excel Discussion :

Error lancement dll dans VBA: Run-time error '28' - Out of stack space


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Points : 30
    Points
    30
    Par défaut Error lancement dll dans VBA: Run-time error '28' - Out of stack space
    Bonjour,

    J'essaye de lancer une dll a partir de VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Declare Function DICT _
    Lib "C:\TEMP\OB\my_vba_api.dll" _
    Alias "MY_VBA_call@16" (ByVal command As Variant) As Variant
     
    Sub test()
    DICT ("read C:\TEMP\OB\My_file.pdl")
    End Sub
    Le code me retourne une erreur sur le premier appel de la fonction "DICT":

    Run-time error '28'
    Out of stack space

    D'ou cela peut-il provenir?

    PS: Le nom de la dll est bien correct ainsi que l'alias (tests realises).

    merci pour votre aide

    Cyril

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    La référence sur l'erreur 28 :
    msdn - out of stack space (err 28)
    Cordialement,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    J'avais connaissance des causes possible de ce problème.

    Mais dans ce test, je n'appelle actuellement que ma dll, rien d'autre. Donc toutes les causes qui touchent à:
    - Trop de fonctions utilisees
    - Trop de place mémoire nécessaire pour mes variables locales
    - Trop de fix lenght string
    Sont des causes qui ne peuvent pas survenir au niveau de mon code. Après je ne sais pas si ce sont des causes qui peuvent survenir dans le code interne a ma dll. Mais cette dernière est déjà utilisée par bcp de personnes, donc je suis presque certain de son fonctionnement correcte.

    Pour les autres erreurs possible (too many nested DoEvents function calls, ode triggered an event cascade), je ne vois pas trop comment tester cela.

    Donc mes questions serait plutot.

    - Est ce que la syntaxe de mon code est correcte?
    - Comment puis-je réaliser un test de ce code sur une autre dll afin d'isoler le problème?
    - Comment puis-je m'assurer par un autre biais que ma dll est correcte?
    - Comment puis-je connaitre en générale l'alias d'une dll afin de l'appeler?
    - Autre suggestion pour résoudre ce problème?

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    salut,

    Quel type de fonction est-ce (ta fonction DICT) ?
    Quels paramètres attend-t-elle ? et de quel type précis ?
    Quel type précis de valeur(s) retourne-t-elle ?
    Ces précisions sont importantes. Je note que tu lui envoies une variant et que tu attends qu'elle retourne une variant (c'est très loin d'être précis).
    En quel langage est écrite la librairie my_vba_api.dll ?
    Il serait bon que tu nous en montres le code source. Si tu n'en possèdes que la compilation, il te faut (et à nous également) au moins connaître son descriptif et ses spécifications exacts.
    Il est enfin curieux d'écrire en VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DICT ("read C:\TEMP\OB\My_file.pdl")
    cette forme d'expression (paramètre entre parenthèses) ne retourne aucune valeur. On comprendrait mieux l'utilisation de (exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeur_retour = DICT ("read C:\TEMP\OB\My_file.pdl")
    encore faudrait-il avoir les précisions demandées plus haut.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/06/2014, 15h55
  2. Réponses: 1
    Dernier message: 20/02/2010, 08h03
  3. [VBA] Run-time error : '35600' Index out of bound
    Par neo2k2 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/03/2008, 16h23
  4. Run Time Error 6 Overflow VBA du à appel C++(dll)
    Par mamok dans le forum Général VBA
    Réponses: 1
    Dernier message: 15/06/2007, 14h27
  5. Réponses: 7
    Dernier message: 04/04/2006, 14h35

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