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

VBA Discussion :

dll c++ / VBA


Sujet :

VBA

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut dll c++ / VBA
    Bonjour,
    J'ai un petit problème avec une dll. En effet, j'aimerais manipuler des matrice avec des dll a fin de faire des calculs matriciels sous Excel. Pour cela j'ai commencé par une simple dll:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // in : matrix , out : matrix
    LPSAFEARRAY FAR *  __stdcall Optimization(LPSAFEARRAY FAR *variance){ 
        return variance;
    }
    et je l'appelle sous VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Declare Function Optimization Lib "Optimization.dll" (ByRef integerArrayA() As Double) As Double
        Sub test1()
           Dim a() As Double
           ReDim a(1 To 3, 1 To 3) As Double
               For u = 1 To 3
                   For v = 1 To 3
                       a(u, v) = 0
                   Next
               Next
        bb = Optimization(a())
        End Sub
    Comme vous pouvez le voir, c'est très simple; par contre quant je compile il me sort cette erreur : " Expression trop complex" (i.e. bb = Optimization(a()) )
    Merci d'avance.

    Ya²

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Et sans les parentheses?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    même chose !!! ça marche pa

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Et en modifiant la DLL ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LPSAFEARRAY FAR *  __stdcall Optimization(LPSAFEARRAY FAR *variance){ 
        return *variance;
    }
    Desole, mais je n'ai que vagues souvenirs de C++...

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    là ça bloque au niveau de la compilation de la dll, car la valeur retournée est un double pointeur de la structure LPSAFEARRAY...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Tu trouveras surement plus d'exemples dans la FAQ C++ / VB : ici ou
    Si tu trouves la solution, ca m'interesse quand meme...

Discussions similaires

  1. Plantage d'excel à cause d'un appel DLL en vba
    Par alpha35 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/09/2007, 20h17
  2. probleme de dll sous vba
    Par deubelte dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/05/2007, 10h01
  3. dll c++ / VBA
    Par yasquare dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/04/2007, 16h59
  4. Dev-c++ Class -> Dll -> Object Vba Excel
    Par fx_forum dans le forum Dev-C++
    Réponses: 6
    Dernier message: 06/10/2006, 19h34
  5. appel de dll depuis VBA
    Par darkman10 dans le forum Windows
    Réponses: 3
    Dernier message: 10/05/2006, 15h03

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