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 :

probléme de conversion VS2003 a VS2005


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut probléme de conversion VS2003 a VS2005
    bonjour , j'ai besoin d'aide pour une problème sur VS2005, j'ai voulu reprendre un projet initialement développer sur VS2003 que je veut porter sur VS2005, j'ai des erreurs dans la compilation : Impossible de prendre l'adresse, d'obtenir la taille ou de déclarer un pointeur vers un type managé
    sur le code suivant :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    [StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi)]//,CharSet=CharSet.Ansi)]
                public struct messagerie_t {
                public int NbMessages;
                public int NbCalculateurs;
                public unsafe IntPtr *NomCalculateur; //100 calculateurs traitable au max 
                public unsafe message_t *ListeMessages;
            } 
     
    [StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi)]
                public struct message_t 
            {
                public string Emetteur;
                public string NomMessage;
                public ulong ID;
    }
    , si quelqu'un a une solution pour résoudre ce problème
    merci.

  2. #2
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Points : 443
    Points
    443
    Par défaut
    Bonjour,

    A tout hasard, as-tu coché dans les settings du projet 2005 la case allow unsafe code ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut merci pour ta réponce
    le probleme c'est que je ne trouve pas la case a coché sur les paramétres de
    VS2005, celle de unsafe.

  4. #4
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Points : 443
    Points
    443
    Par défaut
    Logiquement, la case à cocher se trouve dans l'onglet "Build". En français, ca doit être Génération ou Compilation. Et elle se situe dans la zone General (en haut du formulaire).

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut merci pour ton aide mais y'a toujours l'erreur
    la case allowe unsafe je ne la trouve pas, mais le projet est bien configurer j'arrive a le généré en mode débug avec des erruers certe; tu ne pense pas que 'erreur est du a un probleme de portage sur VS2005 probleme de notation sur les pointeurs, psk la je pointe sur type managé

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Pour utiliser les pointeurs il faut:

    --> Utiliser un bloc unsafe ou déclarer un membre avec le mot clé unsafe
    --> compiler avec l'option /unsafe paramétrable sous VS avec l'option "Autoriser le code unsafe".

    Si il manque une de ces conditions, ça compilera pas.

    Ta struct doit être unsafe, je pense que les champs ça doit pas suffire...

    Autre chose, on ne peut pointer des types valeurs qui contiennent un/des champ(s) de type référence. Ta classe message_t ne serait normalement pas pointable.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut merci mais toujours pas de solutions
    le probleme qui se pose c'est que dans VS2003 je compile le projet sans erreurs, mais sur VS2005 j'ai cette erreur de pointeur Impossible de prendre l'adresse, d'obtenir la taille ou de déclarer un pointeur vers un type managé , en+ j'ai coché la compilation de unsafe , et j'arrive pas a comprendre.

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Autre chose, on ne peut pointer des types valeurs qui contiennent un/des champ(s) de type référence.
    Les champs de type chaine que tu as placé dans ta structure empêchent la compilation.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    et ca serais quoi la solution d'aprés vous pour resoudre ce probleme , faut il declarer les string en unsafe ??

  10. #10
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Les enlever, on ne peut pas pointer des types références. Ce que tu veux faire n'est pas possible.

Discussions similaires

  1. Problème de conversion de projet VS2003 à VS2005
    Par franc82 dans le forum Visual C++
    Réponses: 2
    Dernier message: 10/12/2007, 09h41
  2. Problème de migration vs2003 vs2005
    Par shenron666 dans le forum VC++ .NET
    Réponses: 9
    Dernier message: 13/07/2007, 23h13
  3. Conversion VS2003 -> VS2005
    Par bart64 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/04/2007, 17h28
  4. Problème de conversion unicode
    Par djmalo dans le forum C
    Réponses: 5
    Dernier message: 09/03/2004, 11h48
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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