Bonjour
J'ai une structure qui contient des données continuellement rafraichies. Elle est dans une DLL dont je ne peux pas modifier le code
Je cherche à créer une procédure qui permet d'en lire n'importe quelle valeur. Je ne sais pas à l'avance quelle variable va être lue.
J'ai tenté ce type de code :
Le soucis c'est qu'une fois que j'appelle la SUB test_me, la valeur reste figée --> champs_a est un integer et c'est sa valeur qui est copiée par l'adresse de l'object. Il faudrait utiliser un pointeur mais je ne suis pas sûr de bien m'y prendre (genre avec IntPtr).
Code : 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
17 'partie dans la DLL fournie Structure struct_READ Dim champ_a As Integer Dim champ_b As String End Structure Dim READABLE As New struct_READ ' instancie la structure ... Les variables de l'objet READABLE sont mises à jour ... ' Procédure generique qui permet de lire n'importe quelle valeur de ma structure Private Sub READ_ONE_VALUE(ByRef my_field As object) MsgBox(my_field.ToString) End Sub 'Appel de la procédure pour lire un champs Private Sub test_me() READ_ONE_VALUE(READABLE.champ_a) ' le problème est là, cela envoi la valeur de la variable et non son adresse End Sub
Avez-vous une idée pour manipuler l'objet (la variable) et non sa valeur ?
Merci pour vos conseils
Dan
Partager