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 :

DLL Native chargeant et appelant du code dans une DLL.NET


Sujet :

C++/CLI

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut DLL Native chargeant et appelant du code dans une DLL.NET
    Bonsoir,
    est'il possible de créer une DLL native en C++ qui puisse appelée une bibliothèque .NET dans laquelle je dois appeler un point d'entrée, en lui fournissant une structure contenant entre autre des pointeurs vers des fonctions.

    En fait il s'agit là de faire un wrapper ISAPI => .NET car on ne peux pas demander à tout le monde de passer sous longhorn et IIS7.
    Et un module ISAPI me ferais gagner en souplesse.

    Donc j'attend vos solutions temps que ca ne concerne pas les MFC.

    Merci

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    oui, c'est possible

    plusieurs solutions :

    - enregistrer ton assembly pour com interop et l'utiliser dans ta dll native comme objet com (attention, plus difficile à faire sans MFC, qu'avec)
    - hoster le CLR dans une dll native, mais plus compliqué à faire (ici aussi, se passer des facilités des MFC est dommage)

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    Merci nico-pyright(c)

    J'ai vu ton tuto et je le trouve pas mal, en fait ca correspondrais presque a mes besoins, sauf que là,

    Non seulement je dois exécuter une méthode managée mais je dois lui fournir une structure un peu complexe, avec des string, des bool et des int, et
    un "delegate" pour l'affichage. Ce délégué écrit en C++ se chargera de faire appel à la méthode de IIS6 avec les bons handles, parce que le CGI c'est facile à developper mais ca rame à mort, et surtout c'est une atrocité question mémoire

    Voila

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    dans la classe marshal, tu devrais trouver ton bonheur avec PtrToStructure http://msdn2.microsoft.com/en-us/library/4ca6d5z7.aspx

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/01/2010, 16h16
  2. Appel de fonction dans une DLL
    Par vtk37 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/04/2009, 08h58
  3. probleme appel de fonction dans une DLL
    Par sylvain.cool dans le forum C++
    Réponses: 12
    Dernier message: 19/06/2008, 17h00
  4. Réponses: 2
    Dernier message: 26/06/2007, 17h46
  5. [MFC/C++] Appel de LoadString dans une dll
    Par fleur_de_rose dans le forum Visual C++
    Réponses: 5
    Dernier message: 16/10/2006, 19h44

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