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 :

Appeler dll 32bits depuis un process 64nits


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Avril 2013
    Messages
    93
    D�tails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Par d�faut Appeler dll 32bits depuis un process 64nits
    Bonjour � tous,

    Je cherche � utiliser une dll que je n'est qu'en 32 bits (impossible de l'avoir en 64 bits malheureusement) depuis un process 64 bits.
    J'ai vu pas mal de m�thode en passant par un process interm�diaire en 32 bits mais j'aurais aim� savoir si il y a une m�thode plus simple avant.

    Avez-vous des pistes ou solutions?

    Merci beaucoup de votre aide

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    � ma connaissance, sous Windows du moins, tu n'as pas d'autre choix que de passer par un processus 32 bits. Par contre, si c'est une dll COM, tu peux laisser Windows s'occuper dudit processus.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirm�
    Inscrit en
    Avril 2013
    Messages
    93
    D�tails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Par d�faut
    Oui c'est sous Windows uniquement et c'est bien une dll COM.

  4. #4
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Dans ce cas, elle peut �tre enregistr�e comme utilisant le "DLL Surrogate", un procesus h�te permettant � une DLL InProc d'�tre utilis�e comme LocalServer.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre confirm�
    Inscrit en
    Avril 2013
    Messages
    93
    D�tails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Par d�faut
    Merci pour l'info!
    Je vais potasser tout �a pour essayer de le mettre en place c�t� c++ car �a n'a pas l'air simple cette histoire!!

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Normalement pour un b�te composant inproc, tu n'as pas grand-chose � faire c�t� C++; l'important est simplement d'avoir les marshalers qui marchent correctement pour les interfaces du composant.

    Si les interfaces sont d�finies dans un fichier .idl qui g�n�re une Type Library et tout le reste, �a devrait se passer sans probl�me (surtout si les interfaces sont Automation-compatible, auquel cas elles n'ont m�me pas besoin d'une DLL d�di�e au marshaling, vu qu'elles utilisent directement le marshaler de OLE Automation avec la Type Library).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Appel a map_async depuis un process mne mache pas
    Par bibi9 dans le forum G�n�ral Python
    R�ponses: 1
    Dernier message: 14/01/2013, 10h55
  2. appel dll 32bits par c# 64 bits
    Par parabolus dans le forum C#
    R�ponses: 7
    Dernier message: 06/11/2010, 16h29
  3. Appel DLL delphi depuis C#
    Par joc02 dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 14/05/2009, 16h23
  4. Appel dll .NET depuis Java
    Par olibara dans le forum C#
    R�ponses: 5
    Dernier message: 23/03/2009, 15h28
  5. Appeler dll VB depuis VC++
    Par jdesert dans le forum VC++ .NET
    R�ponses: 6
    Dernier message: 24/04/2008, 10h29

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