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 :

Comptabilit� DLL C++ / Visual Basic


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2014
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Par d�faut Comptabilit� DLL C++ / Visual Basic
    Bonjour � tous,

    J'ai besoin d'aide sur le d�veloppement d'une dll en c++ qui serrais accessible dans une macros VBA.

    Je maintient depuis plusieurs ann�es d�j� une dll en visual C++ que je n'utilise d'habitude que dans des programmes en visual basic .net, �a fonctionne bien.

    Mais... Il fraudais que je puisse utiliser cette dll dans une macros, et c'est l� que �a se corse...

    J'ais ajout� "[assembly:ComVisible(true)];" dans mon assemblyInfo, je fait une exportation via un :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe DLL.dll /tlb:DLL.tlb /codebase DLL
    Mes classes et m�thodes sont public :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    namespace DLL{
     
    	public ref class GENERAL
    	{
    	public:
     
    		static public int _stdcall  Connect(String ^Loging, String ^PassWord, String ^Groupe);
    je suis en /clr

    Quand je vais dans le gestionnaire de r�f�rence dans VBA, j'ai bien la r�f�rence "dll" disponible.

    Je la coche, par contre quand je vais dans l'explorateur d'objets, je voit bien mes classes (GENERAL par exemple), mais il n'y a aucune propri�t�s ni m�thodes sous mes classes (pas d'cc� � Connect)...

    Je n'ai donc acc�s � rien...

    Quelqu'un a une solution?

    Un grand merci d'avances, trois jours de gal�re d�j�...

  2. #2
    Candidat au Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2014
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Par d�faut
    Bonjour,

    Personne n'a jamais fait �a ?

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Je ne suis pas s�r qu'on puisse acc�der � une m�thode statique en COM...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre confirm�
    Inscrit en
    Avril 2013
    Messages
    93
    D�tails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Par d�faut
    Salut,

    As-tu essayer de forcer la d�claration dans ta macro comme ceci:

    Code VB : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    Private Declare PtrSafe Function DllFunction Lib "MyDLL.dll" (a as long, b as long, [arg]) as long 'pour une fonction avec un retour
    Private Declare PtrSafe Sub DllFunction Lib "MyDLL.dll" (a as long, b as long, [arg]) 'sinon

  5. #5
    Candidat au Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2014
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Par d�faut
    Salut,

    Merci de vos r�ponses.


    Citation Envoy� par pepito3364 Voir le message
    Salut,

    As-tu essayer de forcer la d�claration dans ta macro comme ceci:

    Code VB : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    Private Declare PtrSafe Function DllFunction Lib "MyDLL.dll" (a as long, b as long, [arg]) as long 'pour une fonction avec un retour
    Private Declare PtrSafe Sub DllFunction Lib "MyDLL.dll" (a as long, b as long, [arg]) 'sinon




    Je me retrouve avec une erreur 48, "Erreur de chargement de la DLL"...

    @M�dinoc �a me parait bizarre quand m�me que l'on ne puisse pas exposer ces m�thodes, de plus j'ai fait une dll toutes simple avec une seule fonction pour voir :
    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
    // testVBA.dll.h
     
    #pragma once
     
    using namespace System;
     
    namespace testVBAdll {
     
    	public ref class Class1
    	{
    		// TODO*: ajoutez ici vos méthodes pour cette classe.
    	public:
    		int ref;
     
    		int Connect(String ^Loging, String ^PassWord, String ^Groupe);
    	};
    }
    Mais je ne vois toujours rien...

    La solution n'est elle pas d�essayer de passer en non manag�?

Discussions similaires

  1. R�ponses: 5
    Dernier message: 08/10/2010, 12h52
  2. Cr�ation de dll en visual basic 2005 Express
    Par CodeBleu dans le forum VB.NET
    R�ponses: 6
    Dernier message: 17/04/2007, 08h44
  3. R�ponses: 15
    Dernier message: 13/04/2006, 13h32
  4. R�ponses: 7
    Dernier message: 09/11/2005, 02h17

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