none
défnir un tableau dans une structure RRS feed

  • Question

  • Bonjour à tous, j'aimerais savoir si parmi vous, il y aurait des personnes pouvant me rensiegner sur la définition d'un tableau dans une structure.

    Cordialement

    jeudi 5 juillet 2012 09:22

Réponses

  • Bonjour à tous.

    Désolé du retard pour la réponse.

    Voici la solution que j'ai trouvé. J'ai utilisé ceci avant la déclaration du tableau dans la structure :

    "MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]".

    Merci pour le temps consacré à mon problème.

    Cordialement

    • Marqué comme réponse VIANEF mardi 10 juillet 2012 07:35
    mardi 10 juillet 2012 07:35

Toutes les réponses

  • Je comprends pas le problème :

        public struct MaStructure
        {
            public string[] MesStrings { get; set; }
        }


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    jeudi 5 juillet 2012 09:27
  • Fonctionne également avec un wrapper?
    jeudi 5 juillet 2012 10:10
  • Cela devrait (par exemple cela marche sans problème avec http://msdn.microsoft.com/en-us/library/windows/hardware/ff566479(v=vs.85).aspx) mais je comme disais dans une réponse précédente il est préférable d'être toujours précis sur le contexte et je crois que votre cas est plus complexe. De mémoire l'API que vous utilisez retourne une structure qui contiendrait un tableau de pointeurs et vous auriez un problème à accéder aux données pointées ?

    Je ne me souviens pas avoir vu cela dans l'API Windows ce qui aurait permis de faire un essai. Ah ou sinon, il faudrait reproduire un exemple super simple en C++ ce qui permettrait de tester depuis C# que vous obtenez bien le résultat voulu ? Style une zone mémoire avec un nombre d'entrées et n pointeurs chaque pointeur pointant sur un entier de 1 à n ce qui permettrait de tester si le principe est ok ?


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    jeudi 5 juillet 2012 17:32
    Modérateur
  • Et les API que vous essayez d'utiliser sont lesquelles ? Sont-ce une des API Win32 ? Ou alors d'un composant tiers et si oui lequel ? Ca aidera peut être...

    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 6 juillet 2012 06:28
  • Bonjour à tous.

    Désolé du retard pour la réponse.

    Voici la solution que j'ai trouvé. J'ai utilisé ceci avant la déclaration du tableau dans la structure :

    "MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]".

    Merci pour le temps consacré à mon problème.

    Cordialement

    • Marqué comme réponse VIANEF mardi 10 juillet 2012 07:35
    mardi 10 juillet 2012 07:35
  • Ce qui permet effectivement d'"intégrer" directement le tableau dans la structure (je n'avais pas compris que le problème était de supprimer ce niveau d'indirection).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    mardi 10 juillet 2012 08:46
    Modérateur