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

Windows Forms Discussion :

Pb de pointeur : passage C++ au C#


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3
    Par défaut Pb de pointeur : passage C++ au C#
    Bonjour ,

    Je tente de venir me connecter à une mémoire partagée . Pour accéder à l'API windows j'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    
    [DllImport("Kernel32.dll", SetLastError=true)]
    internal static extern IntPtr MapViewOfFile ( IntPtr hFileMappingObject,
    FileMap dwDesiredAccess,
    int dwFileOffsetHigh, 
    int dwFileOffsetLow,
    int dwNumberOfBytesToMap );
    
    Dans mon programme C# à un certain moment j'appelle la fct MapViewOFile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    m_pSharedMem = Win32Native.MapViewOfFile(m_hSharedMem, Win32Native.FileMap.FILE_MAP_READ, 0, 0, 0);
     
    ou 
    private IntPtr m_hSharedMem = IntPtr.Zero; 
    private IntPtr m_pSharedMem = IntPtr.Zero;
    
    m_pSharedMem pointe alors sur la zone mémoire (d'un objet de type toto )

    Normalement en C++ je définissais un pointeur (m_ptrtoto) et j'effectué le casting suivant pour accéder à la mémoire partagée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    toto * m_ptrtoto ;
    m_ptrtoto = (toto*) m_pSharedMem;
    Le problème est que je n'arrive pas à transcoder cette ligne de code

    Si quelqu'un à une solution à me proposer

  2. #2
    Membre Expert Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Par défaut
    Si toto est une classe, tu n'as pas besoin de passer par les pointeurs à priori.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Toto toto = new Toto();
    //....
    Toto sharedtoto = toto;
    Quels sont les objets partageant m_pSharedMem, au juste ? Tu partages à travers des threads différents ?

Discussions similaires

  1. [pointeur][passage par référence] Perte des valeurs.
    Par ced600 dans le forum Débuter
    Réponses: 13
    Dernier message: 05/09/2008, 18h44
  2. Base pointeurs + passage de paramètre
    Par lyes312 dans le forum Langage
    Réponses: 2
    Dernier message: 31/01/2008, 22h47
  3. Pb de pointeur : passage C++ au C#
    Par AlainPdC dans le forum C#
    Réponses: 4
    Dernier message: 06/11/2007, 10h58
  4. Problème passage de pointeur
    Par mick74 dans le forum MFC
    Réponses: 2
    Dernier message: 21/04/2004, 18h34
  5. [allegro]passage de pointeur sur image
    Par Gonath dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 13/12/2003, 18h47

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