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 :

Stockage d'une structure


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    528
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 528
    Par défaut Stockage d'une structure
    Bonjour,
    J'ai une zone memoire definit comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    typedef struct {               
    			   HGLOBAL hStr;
    			   LPSTR   lpStr;
    			   UINT offset;
    			   UINT total;
                   UINT szMax;
                   } CHKLIST;
    et allouée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CHKLIST *lpList;
     
    if(lpList->hStr = GlobalAlloc(GPTR,65536))
    			  if(lpList->lpStr = (LPSTR)GlobalLock(lpList->hStr)) {
    				lpList->total = 65536;
    				lpList->szMax = 0;
                    return(0L);
    			  }
    je stocke donc mes données dans lpList->lpStr avec increment d'un offset.
    Ce qu je voudrais faire, c'est non plus stocker les elements comme je le fais, mais en me servant d'une structure du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    typedef struct {
    	           UINT flag1;
                char flag2[2];
    			   char *data;
                   } STR;
    et la stocker dans lpList->lpStr
    mais j'arrive pas a passer a la pratique ...
    Quelqu'un pourrait il me donner un petit coup de main ?

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: Stockage d'une structure
    Citation Envoyé par dede92
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CHKLIST *lpList;
     
    if(lpList->hStr = GlobalAlloc(GPTR,65536))
    Marche pas. lpList n'est pas initialisée. Le comportement est indéfini (ça a bien crashé chez moi...)

    Ton code n'est pas portable. Visiblement, c'est du Windows. Il est bon de le préciser.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    528
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 528
    Par défaut Re: Stockage d'une structure
    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par dede92
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CHKLIST *lpList;
     
    if(lpList->hStr = GlobalAlloc(GPTR,65536))
    Marche pas. lpList n'est pas initialisée. Le comportement est indéfini (ça a bien crashé chez moi...)

    Ton code n'est pas portable. Visiblement, c'est du Windows. Il est bon de le préciser.
    Oui effectivement, c'est un petit developpement Windows ...
    Avant chaque traitement des messages je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lpList = (CHKLIST *)GetWindowLong(hwnd,0);

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: Stockage d'une structure
    Citation Envoyé par dede92
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lpList = (CHKLIST *)GetWindowLong(hwnd,0);
    hwnd inconnu.. Poste du code complet et compilable...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Stockage d'une structure en mémoire.
    Par bertrand125 dans le forum Bibliothèques, systèmes et outils
    Réponses: 1
    Dernier message: 01/12/2014, 11h55
  2. [Structure] Stockage d'une matrice en XML
    Par mamid1706 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 15/03/2007, 16h14
  3. Comment mettre en place une structure 3 tiers.
    Par WOLO Laurent dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 27/07/2003, 22h01
  4. [toFAQ][socket] Envoi d'une structure
    Par julien20vt dans le forum C++
    Réponses: 15
    Dernier message: 23/04/2003, 15h47
  5. longueur d'une structure
    Par bohemianvirtual dans le forum C
    Réponses: 6
    Dernier message: 28/05/2002, 18h31

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