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 :

[Débutant] Comment instancier un composant COM à partir de son guid


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Par défaut [Débutant] Comment instancier un composant COM à partir de son guid
    Bonjour à tous,

    Je dispose de composants COM développés en Delphi et exploités en Outprocess depuis d'autres applications Delphi.

    En Delphi, pour communiquer avec ces composants COM, voici le code que j'effectue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        l_sDataControlerGuid := '{F12969FE-5235-49B1-8AF0-600D328AF696}' ;
        l_fDataControlerAsIUnknown := CreateCOMObject(StringToGUID(l_sDataControlerGuid)) as IUnknown;
        l_fDataControlerAsIUnknown.QueryInterface(IManagement,m_fDataControlerAsIManagement);
    En sortant de ce code, j'ai une référence d'interface m_fDataControlerAsIManagement de type IManagement grâce à laquelle je peux communiquer avec le composant COM.

    ------

    Maintenant, je dois communiquer avec ce même composant COM en OutProcess depuis une application en C#, mais je ne sais absolument pas comment faire.

    J'ai pu ajouter à mon application C# les références décrivant l'interface IManagement, donc ce type est maintenant connu, mais je ne sais pas comment aller plus loin !

    Aucunes de mes recherches sur le net ne m'ont aidé, beaucoup m'ont même perdue car en plus d'être un débutant en C#, je ne suis pas un expert avec les composants COM non plus

    Sauriez-vous me guider svp ?

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    Bonjour


    Les composants Com (dll ou exe) ont un fichier "compagnon de route" .tlb créé lors de leur génération (en c++,en delphi ,vb6 pour les langages les courants).
    Pour utiliser ces composants en Windows il faut les enregistrer avec l'utilitaire en ligne de commande "Regsvr.exe" de Windows.
    Ceci fait dans ton projet d'appli client .Net il suffit de faire:
    1/ =>ajouter un référence
    2/ dans la boite de dialogue ,choisir le TabPage Com
    3/ sélectionner le nom de ta dll(en fait tu vois "Nomdll.tlb)
    4/ ok
    Et c'est dans la poche.
    Si c'est un Control ,il apparaît dans la boite à outil, sinon ajouter les "using" necessaires.
    bon code....

Discussions similaires

  1. Réponses: 8
    Dernier message: 21/02/2020, 23h38
  2. séléction d'un composant a partir de son nom
    Par ramanov dans le forum Langage
    Réponses: 1
    Dernier message: 26/02/2010, 12h02
  3. Comment accèder aux composants graphique à partir d'un autre thread ?
    Par PerpetualSnow dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/03/2007, 11h11
  4. Réponses: 6
    Dernier message: 20/12/2006, 19h22
  5. Réponses: 3
    Dernier message: 12/07/2006, 16h33

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