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

C++ Discussion :

Erreur Automation - VBA et Visual Studio


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Erreur Automation - VBA et Visual Studio
    Bonjour,

    Le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    TP_API void _stdcall PricerVba(VARIANT aleas, double multiplicateur, double maturite, double N, double garantie, double nav1, double r, VARIANT* res){
    	 double* cheminAleas = variantToDouble(aleas);
    	 double** pricer = PricerCpp(cheminAleas, multiplicateur, maturite, N, garantie, nav1, r);
     
    	 CComSafeArray<double> array;
    	 CComSafeArrayBound Bounds[2];
     
    	 // la dimension correspondant aux lignes
    	 Bounds[0].SetLowerBound(0);
    	 Bounds[0].SetCount(N+1);
     
    	 // la dimension correspondant aux colonnes
    	 Bounds[1].SetLowerBound(0);
    	 Bounds[1].SetCount(3);
     
    	 array.Create(Bounds, 2);
     
    	 for (int i = 0; i <= N; i++){
    		 long nav_Idx[2] = { i, 0 };
    		 long plancher_Idx[2] = { i, 1 };
    		 long exposition_Idx[2] = { i, 2 };
     
    		 array.MultiDimSetAt(nav_Idx, pricer[i][0]);
    		 array.MultiDimSetAt(plancher_Idx, pricer[i][1]);
    		 array.MultiDimSetAt(exposition_Idx, pricer[i][2]);
    	 }
     
    	 VariantInit(res);
    	 res->vt = (VT_ARRAY | VT_R8);
    	 array.CopyTo(&res->parray);
     }
    Me génère l'erreur suivante quand je lance mon appli sous Excel :
    "Erreur Automation : L'objet invoqué s'est déconnecté de son client"

    Et sous Visual Studio :
    "Exception non gérée à 0x076194BE (VBE6.DLL) dans EXCEL.EXE*: 0xC000041D: Une exception non gérée a été détectée pendant un rappel de l’utilisateur."

    Est-ce que ces erreurs parlent à quelqu'un ?
    Ou avez-vous au moins une piste de débuggage à me donner ?
    Svp,
    Merci d'avance,

    Mande

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Cette erreur ressemble à une seconde erreur, qui surgirait à cause d'une première. Le debugger ne liste-t-il pas la première erreur?

    Aussi (mais probablement pas lié directement à l'erreur), est-ce normal que tu ne nettoies pas pricer après avoir copié son contenu dans le SAFEARRAY?

    PS: aleas, c'est quoi exactement? Un double? Une référence vers le premier double d'un tableau VB de doubles?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Bonjour Medinoc,

    Non effectivement, on a oublié de nettoyer pricer.
    Aleas c'est un Variant que l'on récupère depuis Excel et que l'on convertit en tableau de double.

    Il semble de le code bug sur : VariantInit(res); (à la fin de la fonction)

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

Discussions similaires

  1. erreur Automation vba
    Par atoffoli75 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 25/06/2008, 09h50
  2. Pilotage d'Excel : VBA ou Visual Studio Express ?
    Par Nightfall dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 20/12/2007, 23h51
  3. Erreur Automation vba
    Par viscere dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/08/2007, 11h51
  4. erreur d'installation sur visual studio 6.0
    Par nassimmm dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 06/07/2007, 14h26
  5. Erreur[Emulateur pocketpc de visual studio]
    Par mamata dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/02/2007, 14h09

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