Bonjour,

J’ai un composant qui me renvoi des données dans un buffer. Avant de les utiliser, je dois les typer comme une structure.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
'Déclaration d'une structure qui contiendra notre buffer
'Les variables sont dans l''ordre attendu et avec une longueur fixe
    Structure Struct_Buffer
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> Public title As String ' string forcé à 256 caractères
        Public num1 As Double
        Public num2 As Integer
    End Structure
'Le composant m’envoie les données
   Dim s1 As Struct_Buffer = CType(received_data.dwData(0), Struct_Buffer) ' Cast les données reçues avec le bon typage
   MsgBox("Title = " & s1.title) ' on peut lire le titre reçu
Cela fonctionne très bien. Mon problème c’est que la structure doit pouvoir évoluer suivant le contexte.
Ainsi j’aimerai pouvoir rajouter ou supprimer une variable.
Exemple que ma structure devienne, par code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
'le titre disparait et on ajoute la variable num3
Structure Struct_Buffer
        Public num1 As Double
        Public num2 As Integer
        Public num3 As Integer
End Structure
Il n’y a pas de méthode pour faire évoluer la structure d’une structure

Sauriez-vous comment je pourrais avoir un objet de type structure pouvant évoluer ?

Merci pour vos conseils.

PS : j'utilise VS 2013 et .NET 4.0

Dan