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

Dev-C++ Discussion :

Dev-c++ Class -> Dll -> Object Vba Excel


Sujet :

Dev-C++

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Dev-c++ Class -> Dll -> Object Vba Excel
    Bonjour,

    Je veux clarifier un code VBA EXCEL et l'accellerer en sous-traitant une partie des operations a une DLL.

    La DLL sera ecrite en C++, avec DEV-C++ ou autre (mais ni MS Visual C++ ni MS Visual Express ...).

    J'ai deja reussi utiliser sous VBA EXCEL des fonctions fournies dans ma DLL.

    Actuellement je bloque sur l'utilisation de classe. Plusieurs interrogations :
    • export de la classe dans le .h et le .cpp
    • pb de decoration de la classe
    • utilisation de la classe sous VBA


    Grosso modo, ma classe TOTO a une fonction ADD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int __stdcall TOTO::ADD(int x, int y);
    et je voudrais utiliser cette classe comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim tTITI As Object
    Set tTITI = CreateObject("TOTO")
    MsgBox (tTITI.ADD(5,3))
    Ma syntaxe est approximative - d'ailleurs rien ne marche pour l'instant.

    Ou puis-je trouver un exemple similaire ou un tuto ?

    Un grand merci

    FX

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Points : 542
    Points
    542
    Par défaut
    Il me semble que la façon d'exporter des classes dans une DLL est plus ou moins spécifique à chaque compilateur ; seules les API C sont réellement portables.

    En d'autres termes, ne pas utiliser d'outil M$ pour générer ta DLL risque de se révéler être un sérieux handicap...

    Qui plus est, au niveau interopérabilité C++ <-> VBa, même en n'utilisant que des outils M$, je crois que la méthode présentée n'est pas réalisable (il faudrait malgré tout passer par une API C).
    "La forme même des Pyramides prouve que de tous temps, les ouvriers n'ont jamais pensé qu'à en faire de moins en moins."

    G. CLEMENCEAU

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    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 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Je crois bien qu'on peut interfacer avec des composants COM (comme les .ocx et cie).

    Donc, si on expose les classes sous forme de composants COM, ça pourrait marcher...
    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
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    alors la, je rame

    j'aime bien la POO en c++ et cela correspond vraiment a ce que je dois representer

    c'est quoi le com ou .ocx au juste ? c'est du c/c++ compiler comment ?

    a+

  5. #5
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    Citation Envoyé par fx_forum
    c'est quoi le com ou .ocx au juste ? c'est du c/c++ compiler comment ?
    un .ocx, c'est un ActiveX

    COM il faut créer un projet de type COM.
    besoin de réponses ? demande a un pote

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je viens du monde hpux / linux et c'est truc COM .ocx c'est nouveau pour moi

    C'est bien des lib ActiveX dont j'ai besoin donc les COM sont bien ce qu'il faut produire

    Comment ? il me faudrait un exemple minimaliste pour comprendre. Le makefile (ou equivalent) serait la cerise sur le gateau

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    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 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Ah, c'est un peu compliqué...
    Pour comprendre COM dans le fond, je te conseillerais de lire les COM tutorial Samples pour Visual 6, qui étaient entre autres fournis avec le Platform SDK de Février 2003 (mais qui sont téléchargeables séparément).

    Mais je ne sais pas vraiment ce qu'il faut savoir ou non pour créer un activeX en C++...
    (surtout un composant COM compilable depuis Dev-C++... Je me doutes que c'est possible, mais il n'y a pas les "facilités" apportées par Visual...
    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.

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/06/2014, 15h49
  2. DLL Fortran depuis VBA Excel [Error 48]
    Par zerbault dans le forum Fortran
    Réponses: 6
    Dernier message: 12/11/2012, 13h51
  3. [DLL C++ dans VBA Excel] Overflow
    Par materialguy7 dans le forum C++
    Réponses: 1
    Dernier message: 18/02/2010, 16h00
  4. [Debutant(e)]Dossiers .java, .class et .dll
    Par jeanmm dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/01/2006, 14h43
  5. [DLL] Methodes de classe et dll
    Par chronos dans le forum C++
    Réponses: 11
    Dernier message: 27/04/2005, 17h18

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