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 :

Int�rop�rabilit� C et C#


Sujet :

C++/CLI

  1. #1
    oxa
    oxa est d�connect�
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 39
    Par d�faut Int�rop�rabilit� C et C#
    Bonjour,
    je voulais connaitre les possibilit� et les m�thodes d'int�rop�rabilit� entre le C et le C#

    Je voudrais cr�er une appli C# qui me permettrait d'encoder n'importe quel format vid�o en FLV.
    Je sais que FFMPEG est cod� en C (ou en C++, je ne suis pas certain)

    Mais j'aimerai que le tout soit pilot� en C#. Comment puis-je faire pour utiliser ce qui est fait en C dans mon projet C# ?

    J'utilise VS2005 si cela est important.

    Merci bien

  2. #2
    Membre �clair�
    Inscrit en
    D�cembre 2005
    Messages
    391
    D�tails du profil
    Informations personnelles :
    �ge : 50

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 391
    Par d�faut
    Pour appeler une fonction pr�sente dans une DLL, vous devez utiliser DllImport et vous devez toujours faire pr�c�der le type de la m�thode du mot cl� extern (cela permet de sp�cifier que la m�thode est appel�e dans un fichier externe � l'application).
    Vous devez aussi conna�tre :
    - le nom de la m�thode
    - le type qu'elle renvoie
    - les param�tres qu'elle peut accepter
    Ces informations vous sont g�n�ralement fournies avec la documentation de la m�thode d�sir�e.
    Voici un exemple de DllImport :

    using System.Runtime.InteropServices;
    [ DllImport("user32.dll") ]
    static extern int FlashWindow (int hwnd, int bInvert);

    Cette m�thode, extraite du fichier user32.dll, renvoie un entier et prend en param�tre 2 autres entiers.

    utilise la faq

  3. #3
    oxa
    oxa est d�connect�
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 39
    Par d�faut
    D�sol�, je ne savais pas que toutes les dll win32 �taient cod�es en C/C++

    Merci en tout cas de ta r�ponse.

    J'ai aussi entendu parler de P/Invoke pour l'int�rop�rabilit�, est-ce une solution �quivalente ou meilleure ou moins bonne?

  4. #4
    Membre �clair�
    Inscrit en
    D�cembre 2005
    Messages
    391
    D�tails du profil
    Informations personnelles :
    �ge : 50

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 391

  5. #5
    Membre �clair�
    Inscrit en
    D�cembre 2005
    Messages
    391
    D�tails du profil
    Informations personnelles :
    �ge : 50

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 391
    Par d�faut
    http://www.geocities.com/jeff_louie/...op/atl_com.htm
    http://www.geocities.com/jeff_louie/...op/pinvoke.htm

    You can't directly use C++ classes from C#, you have to:
    - wrap them in a managed class using MC++, or,
    - expose your C++ classes as COM objects.

    Willy.



    "eric" <[email protected]> wrote in message


    news:[email protected]...

    tout ceci devrait pouvoir t aider

Discussions similaires

  1. Int�rop�rabilit� entre un client java et serveur dot net
    Par miss_2000 dans le forum Services Web
    R�ponses: 1
    Dernier message: 01/12/2006, 10h54
  2. --> int�rop�rabilit� c++ c#
    Par peuh dans le forum MFC
    R�ponses: 11
    Dernier message: 14/05/2003, 10h23

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