Declaration de type en vb
Résolu/Fermé
ssebounet
Messages postés
162
Date d'inscription
jeudi 21 mars 2002
Statut
Membre
Dernière intervention
22 octobre 2008
-
26 janv. 2005 à 11:25
Utilisateur anonyme - 26 janv. 2005 à 17:06
Utilisateur anonyme - 26 janv. 2005 à 17:06
A voir également:
- Declaration de type en vb
- Déclaration de revenus - Guide
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Clear type - Guide
- Changer le type de fichier - Guide
4 réponses
Utilisateur anonyme
26 janv. 2005 à 15:00
26 janv. 2005 à 15:00
Bonjour,
Ai-je bien comprit votre démarche ?
Option Explicit
Public Type Type1
Dec1 As Long
Dec2 As Long
Dec3 As Long
Dec4 As Long
End Type
Public Type Type2
Dec5 As Long
Dec6 As Long
Dec7() As Type1
End Type
'
Sub PremierNiveau()
Dim Truc As Type2
ReDim Truc.Dec7(2)
Truc.Dec7(1).Dec1 = 128
MsgBox Truc.Dec7(1).Dec1
SecondNiveau Truc
MsgBox Truc.Dec7(1).Dec1
End Sub
'
Sub SecondNiveau(ByRef Trac As Type2)
Trac.Dec7(1).Dec1 = 256
End Sub
Lupin
~L'essentiel est invisible pour les yeux~
~On ne voit bien qu'avec le coeur~
Ai-je bien comprit votre démarche ?
Option Explicit
Public Type Type1
Dec1 As Long
Dec2 As Long
Dec3 As Long
Dec4 As Long
End Type
Public Type Type2
Dec5 As Long
Dec6 As Long
Dec7() As Type1
End Type
'
Sub PremierNiveau()
Dim Truc As Type2
ReDim Truc.Dec7(2)
Truc.Dec7(1).Dec1 = 128
MsgBox Truc.Dec7(1).Dec1
SecondNiveau Truc
MsgBox Truc.Dec7(1).Dec1
End Sub
'
Sub SecondNiveau(ByRef Trac As Type2)
Trac.Dec7(1).Dec1 = 256
End Sub
Lupin
~L'essentiel est invisible pour les yeux~
~On ne voit bien qu'avec le coeur~
ssebounet
Messages postés
162
Date d'inscription
jeudi 21 mars 2002
Statut
Membre
Dernière intervention
22 octobre 2008
6
26 janv. 2005 à 15:47
26 janv. 2005 à 15:47
oui c est cela a quelques differences près:
Option Explicit
Public Type Type1
Dec1 As Long
Dec2 As integer
Dec3 As integer
Dec4 As string
End Type
Public Type Type2
Dec5 As Long
Dec6 As Long
Dec7() As Type1
End Type
Sub PremierNiveau()
Dim Truc As Type2
ReDim Truc.Dec7(2)
Truc.Dec7(1).Dec1 = 128
MsgBox Truc.Dec7(1).Dec1
SecondNiveau Truc
MsgBox Truc.Dec7(1).Dec1
End Sub
Sub SecondNiveau(ByRef Trac As Type2)
Trac.Dec7(1).Dec1 = 256
End Sub
en faite il n'y a pas de second niveau lorsque j'ai defini mes valeurs dans le premier niveau j'envoie les données par une fonction qui est dans une dll par référence (ce qui devrai la rendre modifiable (byref))
et en fait lorsque je regarde coté dll j'ai les bonnes valeurs pour le premier niveau mais par pour le second, je m'explique:
truc.Dec5
truc.Dec6
sont OK
mais des que j'utilise mon type, a partir de Dec7, la les valeurs qui ont été passé en paramètres ne sont plus bonne du tout c est comme si il n'y faisait plus référence!!
saurais-tu y remedier?
Merci beaucoup de t'y interesser !!
Séb
Option Explicit
Public Type Type1
Dec1 As Long
Dec2 As integer
Dec3 As integer
Dec4 As string
End Type
Public Type Type2
Dec5 As Long
Dec6 As Long
Dec7() As Type1
End Type
Sub PremierNiveau()
Dim Truc As Type2
ReDim Truc.Dec7(2)
Truc.Dec7(1).Dec1 = 128
MsgBox Truc.Dec7(1).Dec1
SecondNiveau Truc
MsgBox Truc.Dec7(1).Dec1
End Sub
Sub SecondNiveau(ByRef Trac As Type2)
Trac.Dec7(1).Dec1 = 256
End Sub
en faite il n'y a pas de second niveau lorsque j'ai defini mes valeurs dans le premier niveau j'envoie les données par une fonction qui est dans une dll par référence (ce qui devrai la rendre modifiable (byref))
et en fait lorsque je regarde coté dll j'ai les bonnes valeurs pour le premier niveau mais par pour le second, je m'explique:
truc.Dec5
truc.Dec6
sont OK
mais des que j'utilise mon type, a partir de Dec7, la les valeurs qui ont été passé en paramètres ne sont plus bonne du tout c est comme si il n'y faisait plus référence!!
saurais-tu y remedier?
Merci beaucoup de t'y interesser !!
Séb
ssebounet
Messages postés
162
Date d'inscription
jeudi 21 mars 2002
Statut
Membre
Dernière intervention
22 octobre 2008
6
26 janv. 2005 à 14:06
26 janv. 2005 à 14:06
alors j ai des nouvelles...
en fait c est tout a fait possible de faire ca.
Type type1
dec1 As Long
dec2 As Long
dec3 As Long
dec4 As Long
End Type
Type type2
dec5 As Long
dec6 As Long
dec7() As type1
End Type
On peux mettre comme ci-dessus un tableau
mais mon probleme est toujours là, lorsque je veux l'utiliser les valeurs que j envoie apres par une fonction ne marche pas...
Dim truc As type2
redim truc.dec7(2)
truc.dec7(0).dec1=...
ok pour ca mais apres j'envoie à une fonction avec la methode byref et en fait ca ne marche pas du tout ce que je recois de l'autre coter est complètement différent (juste au niveau de la structure type1 le type 2 est comme il faut!!!
quelqu'un comprend quelque chose ou pas????
Merci d'avance
Séb
en fait c est tout a fait possible de faire ca.
Type type1
dec1 As Long
dec2 As Long
dec3 As Long
dec4 As Long
End Type
Type type2
dec5 As Long
dec6 As Long
dec7() As type1
End Type
On peux mettre comme ci-dessus un tableau
mais mon probleme est toujours là, lorsque je veux l'utiliser les valeurs que j envoie apres par une fonction ne marche pas...
Dim truc As type2
redim truc.dec7(2)
truc.dec7(0).dec1=...
ok pour ca mais apres j'envoie à une fonction avec la methode byref et en fait ca ne marche pas du tout ce que je recois de l'autre coter est complètement différent (juste au niveau de la structure type1 le type 2 est comme il faut!!!
quelqu'un comprend quelque chose ou pas????
Merci d'avance
Séb
Utilisateur anonyme
26 janv. 2005 à 17:06
26 janv. 2005 à 17:06
Salut,
Questions !
"j'envoie les données par une fonction qui est dans une dll par référence"
Je comprends ici que tu fais appel a une fonction externe qui est
dans une dll écrite en C !
Il est a penser que ta variable dans la fonction est mal déclarer !
Ou peut-être même ton type !
Un peu de code peut-être !
Lupin
~L'essentiel est invisible pour les yeux~
~On ne voit bien qu'avec le coeur~
Questions !
"j'envoie les données par une fonction qui est dans une dll par référence"
Je comprends ici que tu fais appel a une fonction externe qui est
dans une dll écrite en C !
Il est a penser que ta variable dans la fonction est mal déclarer !
Ou peut-être même ton type !
Un peu de code peut-être !
Lupin
~L'essentiel est invisible pour les yeux~
~On ne voit bien qu'avec le coeur~