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 :

[C#] Convertir pointeur C++ en C#


Sujet :

C++/CLI

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    F�vrier 2004
    Messages
    70
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2004
    Messages : 70
    Par d�faut [C#] Convertir pointeur C++ en C#
    Hello,

    J'importe une m�thode d'une dll �crite en C++ par
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    [DllImport("ma.dll", SetLastError = true)]
    			public static extern long myFonct(ref UInt32 pCnt);
    La spec en C++ de la m�thode est
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    HRESULT myFonct(UINT *pCnt);
    J'ai du mal � savoir quoi mettre comme type pour le param�tre en c# et comment traduire HRESULT.

    Merci pour votre aide par avance

  2. #2
    Invit�
    Invit�(e)
    Par d�faut
    tu as le mot cl� "ref" d'apres ce que j'avais lu cela servait pour les pointeurs, par contre il me semble que tu as peut �tre le mode unsafe � utiliser

  3. #3
    Membre confirm�
    Inscrit en
    F�vrier 2004
    Messages
    70
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2004
    Messages : 70
    Par d�faut
    Salut,

    merci de ta r�ponse.

    Pour ce qui est d'utilis� ref g essay� mais sans r�sultat.

    Je vais regarder le mode unsafe

    merci

  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
    Par d�faut
    j'aurai tendance � remplacer les pointeurs par un intptr, et � caster apr�s en utilisant le marshalling

  5. #5
    Membre exp�riment� Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Par d�faut
    Moi j'utiliserai aussi ref... Et ref ne n�cessite pas de code unsafe non, ce n'est pas une manipulation de pointeurs.

    Si �a ne marche pas alors tu peux faire �a en unsafe :
    public static unsafe extern long myFonct(UInt32* pCnt);
    et �a devrait marcher.

    Si �a ne marche toujours pas, demande toi s'il n'y a pas de bug ailleurs

    j'aurai tendance � remplacer les pointeurs par un intptr, et � caster apr�s en utilisant le marshalling
    Passe aussi m�me si ref est la plus belle solution. (enfin moi les IntPtr je les garde surtout pour conserver un pointeur c�t� managed sans y toucher)

  6. #6
    Membre confirm�
    Inscrit en
    F�vrier 2004
    Messages
    70
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2004
    Messages : 70
    Par d�faut
    Nico-pyright(c), aurais tu un exemple concernant le marshalling des param�tres ?

    Merci


+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 31/12/2010, 18h19
  2. convertir un pointeur de fct C++ en C
    Par Nik_Meilleur dans le forum C++
    R�ponses: 2
    Dernier message: 22/05/2008, 19h28
  3. Comment convertir un pointeur en Double?
    Par Art19 dans le forum Langage
    R�ponses: 13
    Dernier message: 20/07/2007, 11h05
  4. convertir un bstr en pointeur de char
    Par dam123 dans le forum C
    R�ponses: 2
    Dernier message: 20/02/2007, 20h52
  5. [debutant]Convertir un pointeur byte en String
    Par patmaba dans le forum SL & STL
    R�ponses: 3
    Dernier message: 22/07/2005, 13h34

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