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 :

Portabilité DLL - Question bete ou peut etre pas.


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut Portabilité DLL - Question bete ou peut etre pas.
    Bonjour

    J'aimerais savoir si le scénario suivants est possibles.

    Imaginons que j'ai une veille DLL developpez en WIN32 avec support MFC.
    Cette DLL est utilisée par des tierces personnes, certain la chargeant dynamiquement à partir de Vbasic ou de delphi et d'autre l'utilisant à partir du .def et du .lib dans des programmes Visual C++.
    Cette DLL a differentes functions utilisant que des paramètre générique (Pas de MFC dans les parametre des BSTR,des long et Short)

    Pour une raison qui m'appartient je dois recoder cette DLL et pour des raisons pratiques il me semble aisé de le faire en C#.
    Si je crée une DLL avec les même nom de fonction avec les même paramètres.

    Est que les 2 DLL sont interchangeable ? (Pas de changement dans les programmes se servant de la DLL)
    Est ce que cela depend de la facon de la charger.
    Ou ce n'est pas du tout possible?

    Merci de m'aiguiller.
    Cordialement

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Points : 674
    Points
    674
    Par défaut
    Hello,

    je suis pas expert, mais elles ne seront pas interchangeables. La raison principale c'est que tu auras compilé du code managé, et ton code original est du code natif.

    C'est faisable, mais ça a l'air galère.

    Je pense qu'il faudrait que tu écrives une coucheintermédiaire en C++ compilé en "mixed mode image". Voir ici (Directly Accessing a Managed API).

    Sinon, changer toutes les interfaces pour en fournir une en COM qui est consommable par tous.

    L'inverse est beaucoup plus commun et facile à mettre en place (en général utiliser un vieux code non managé dans un code managé).

    Christophe

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    tu peux aussi utiliser du code .Net dans une dll "non" managé de façon a ce qu'elle soit utilisé dynamiquement

    J'ai déja fait une librairie .Net (en C#) qui devait être utilisé par une appli MFC non compilable en mode managée. Résultat, j'ai fait une librairie en C++ managé qui exposait et exportait les fonctions à utiliser.

    En cherchant sur le net, tu trouveras plusieurs exemples de librairie C++ s'appuyant sur du .NEt.

    Mais attention, si t'as librairie utilise du .Net, il faudra que le framework soit installé sur les PC executant le code.
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    Merci a vous deux

    Je vais chercher vers ces pistes

    Cordialement

Discussions similaires

  1. question debutant !? (et peut etre debile )
    Par Marsiou dans le forum C#
    Réponses: 10
    Dernier message: 21/11/2007, 10h43
  2. Encore un max? peut etre pas
    Par KamaShin dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/06/2007, 16h44
  3. Réponses: 2
    Dernier message: 25/05/2006, 19h47
  4. [Question Bete] f ou pas f!!!
    Par theshark85 dans le forum C
    Réponses: 17
    Dernier message: 20/05/2006, 16h02
  5. Réponses: 5
    Dernier message: 25/11/2003, 10h02

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