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

MFC Discussion :

[C++]Importation d'une DLL de com TCP en c#


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 92
    Par défaut [C++]Importation d'une DLL de com TCP en c#
    Salut à tous.

    Voila, j'aimerai faire communiquer deux applications ensembles.

    La première est un serveur en C#. C'est lui qui à l'écouteur TCP. J'ai fait une librairie "client" qui permet de se connecte au serveur. Elle marche parfaitement bien (j'ai fait un petit programme de test en C# et je n'ai eu aucun problème.).

    De l'autre coté, une vieille application en C++.

    Mon idée était de créer un tlb pour ma dll de com en C# et de l'importe dans ma vieille application. Jusque la tout va bien. Mon tlb se crée bien et s'importe sans problème. Je peux instancier mon objet.

    Mais lorsque j'essaie de me connecter... rien. Pas de message d'erreur, pas de plantage et pas de connexion...

    Est ce que ce que j'essaie de faire est possible ? Si oui ou est le problème ?

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    la vieille appli est en .net ?

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 92
    Par défaut
    Hélas non. Elle a été devellopé en VS6 et nous l'avons "porte" en .NET... En gros l'on a juste fait en sorte que cela compile

  4. #4
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    je crois que c'est mal barré :s enfin bon ptet que quelqu'un d'autre sera te repondre

  5. #5
    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
    Citation Envoyé par Raton
    Hélas non. Elle a été devellopé en VS6 et nous l'avons "porte" en .NET... En gros l'on a juste fait en sorte que cela compile
    Si l'appli est portée en .Net, pourquoi utiliser un tlb ? pourquoi pas simplement ajouter la référence à l'assembly C# ?

  6. #6
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    Je pense qu'il veut dire qu'il a compilé son projet en MFC mais sous visual studio 2003 (2005?)

    est ce que c'est la même chose dans ce cas la ?

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 92
    Par défaut
    Citation Envoyé par hiko-seijuro
    Je pense qu'il veut dire qu'il a compilé son projet en MFC mais sous visual studio 2003 (2005?)

    est ce que c'est la même chose dans ce cas la ?
    Lui il a bon. Mon projet est belle et bien en MFC (à mon grand malheur ).

    Après quelque recherche j'étais tombé sur #using. Mais apparement ca n'est pas très compatible avec les entetes précompillés (que non je ne peux pas virer bien entendu :'( )...

  8. #8
    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
    ca veut dire quoi alors "porté en .Net" ?

    Tu as mis l'option de compilation /clr ?

  9. #9
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 92
    Par défaut
    J'ai bien essaye... Mais si je la mets mon projet ne compile plus... Deux messages d'erreur diférent :

    c:\Travail\pr35h\NewKernel\GestionCompteur.cpp(4): error C2855: option de ligne de commande '/CLR' non cohérente avec l'en-tête précompilé

    ou alors :

    Kernel Ligne de commande error D2016 : options de ligne de commande '/RTC1' et '/clr' non compatibles

    Dans le premier cas... Je ne peux malheuresement pas virer les entetes (pas assez de temps pour virer les entetes dans tous le projet (pres de 800 fichiers...)

    Dans le second... Même en virant le /RTC1 (j'ai essayer RTCs, RTCu) pas moyen... Toujours le même message... A mon avis ca vient du fichier d'en tete...

  10. #10
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 92
    Par défaut
    Je viens de voir qu'une fonction a été ajoutée dans ma classe c'est :

    AttachDispatch(LPDISPATCH lpDISPATCH, bool bAutoRelease)

    Quelqu'un aurait il la moindre idée de ce que c'est ?

  11. #11
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 92
    Par défaut
    Bon j'ai eu une idée... Pas super élégante mais vu les relicats que je me traine j'ai pas trouve mieux a pars tout refaire...

    Je vais essayer de faire une dll en C++ classique pour "encapsuler" ma dll C#. Je pense que je devrais pouvoir inclure une dll C++ avec moins de probleme.

    Par contre lorsque j'essaie de faire mon #import de ma dll j'ai ce message d'erreur :

    c:\Travail\TestTCP\TestTCP\TestTCP.cpp(16): fatal error C1083: Impossible d'ouvrir le fichier bibliothèque de types : 'c:\travail\tooltcpclientlib.dll' : Erreur lors du chargement de la bibliothèque/DLL du type.

    Quelqu'un saurait il quel est le problème ?

Discussions similaires

  1. Problème appel JNI d'une dll via COM
    Par mfabien dans le forum C
    Réponses: 3
    Dernier message: 13/04/2007, 14h38
  2. Problème lors de l'import d'une dll native.
    Par -Jolan- dans le forum C++/CLI
    Réponses: 4
    Dernier message: 21/02/2007, 12h18
  3. Réponses: 2
    Dernier message: 09/01/2007, 11h29
  4. Problème d'importation d'une DLL dans CVI
    Par samanderson dans le forum Windows
    Réponses: 16
    Dernier message: 16/08/2006, 14h45
  5. Importation d'une dll
    Par K20 dans le forum Delphi
    Réponses: 6
    Dernier message: 23/06/2006, 18h51

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