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++/CLI Discussion :

bibliothèque de classe


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 59
    Par défaut bibliothèque de classe
    bonjour,
    Je souhaiterai savoir comment inclure une bibliothèque de classe CLR dans une application Windows Form de façon dynamique et non statique.:

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    regarde du coté de loadassembly

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 59
    Par défaut
    J'ai trouvé effectivement un début de solution avec les assembly.
    Voici le code généré par mes 3 fichiers:

    DLL2.h
    namespace DLL2
    {
    class ClassFonction
    {
    public:
    static double Add(double a, double b);
    };
    }

    DLL2.cpp
    #include "DLL2.h"
    namespace DLL2
    {
    double ClassFonction::Add(double a, double b)
    {
    return a + b;
    }
    }

    dans le fichier exécutable:
    System::Reflection::Assembly^ ExempleAssembly;
    ExempleAssembly=System::Reflection::Assembly::LoadFrom("DLL2.dll");

    mais, je ne sais pas comment utiliser la fonction Add(...) dans mon exécutable ?
    Comment poursuivre ?

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ben il faut typer avec ClassFonction

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 59
    Par défaut
    Bonjour,

    Voici mon code :

    System::Reflection::Assembly^ ExempleAssembly;
    ExempleAssembly=System::Reflection::Assembly::LoadFrom("DLL2.dll");
    Type^ t=ExempleAssembly->GetType();
    Object^ Objet=ExempleAssembly->CreateInstance("DLL2.ClassFonction");
    -> label2->Text=Convert::ToString(((DLL2::ClassFonction)Objet)->Add(1,2));

    J'ai des erreurs de code sur la dernière ligne car je n'arrive pas à utiliser la fonction Add:
    Erreur 1 error C2440: 'cast de type'*: impossible de convertir de 'System::Object ^' en 'DLL2::ClassFonction' Form1.h 126
    Erreur 2 error C2819: le type 'DLL2::ClassFonction' n'a pas d'opérateur 'operator ->' de membre surchargé Form1.h 126
    Erreur 3 error C2232: '->DLL2::ClassFonction::Add'*: opérande gauche avec type 'class', utilisez '.' Form1.h 126

    A priori, je ne sais pas correctement utiliser le transtypage, mais je ne sais par comment modifier mon code ?

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ah oui ok, ben en fait, il faut que tu fasses une classe managée publique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public ref class ClassFonction
    {
    ...
    };

Discussions similaires

  1. bibliothèque de classes C# sur VBA
    Par otavioreis dans le forum C++/CLI
    Réponses: 3
    Dernier message: 06/09/2007, 16h39
  2. Site Bibliothèque de classes
    Par hugo69 dans le forum WinDev
    Réponses: 11
    Dernier message: 29/03/2007, 15h42
  3. Réponses: 11
    Dernier message: 12/08/2006, 10h22
  4. [VBA-E] comment créer une bibliothèque de classes ?
    Par james-mi dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/05/2006, 21h04
  5. Réponses: 3
    Dernier message: 28/04/2006, 11h27

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