Rechercher : dans
Par :

Declaration de type en vb

Dernière réponse le 26 jan 2005 à 17:06:00 ssebounet, le 26 jan 2005 à 11:25:32 
 Signaler ce message aux modérateurs

Bonjour,

Avant tout je suis sous xp et veux utiliser le VB pour appeler une dll en c.

Je souhaite créer deux types dont l'un appelle l'autre.

par exemple:

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

Voila mais en faite j'envoie une donnée de la deuxieme à une dll.
Celle-ci doit modifier les valeurs qui sont dans les données de "type1" c'est à dire "dec7"
J'espere que je me suis fait comprendre!!

sinon en bref ce que je souhaite c'est faire passer dans type2 le type1 mais en référence... que les données puisse être modifié.

Est-ce possible et si oui comment le faire???

merci d'avance pour toutes réponses...

Séb

Meilleures réponses pour « declaration de type en vb » dans :
Java: les variables Voir Le concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Java sont typées, c'est-à-dire que les données contenues dans...
Modèles de documents en ligne VoirModèles de documents en ligne : gagner du temps et éviter les pièges On trouve sur Internet une foule de sites qui proposent des modèles de documents à destination des entreprises. De la lettre type d'embauche au bail commercial, on trouve les...
VMWare - Les différents types de réseau VMWare VoirQuand on crée une machine virtuelle dans VMWare, nous avons le choix entre 3 types de connectivité : Host-only, NAT ou Bridged. Le schéma suivant vous explique la différence entre ces 3 modes: Note 1: Si vous n'avez pas d'équipement (LAN,...
Lettres types Emploi VoirLettres types Emploi Quelques liens pour les personnes en manque d'inspiration ... http://www.learn4good.com/jobs/rediger_un_cv_efficace.htm http://www.letudiant-emploi.fr/pages/default.asp?page=/emploi/lettres http://www.la...
Télécharger RapidTyping Typing Tutor VoirL'apprentissage de la saisie au clavier à l'aveuglette peut devenir une tâche désagréable quand on pas les bonnes méthodes. Il suffit d'un rien pour que cela devienne un jeu. Touch Typing Tutor est un tutorial complet, interactif et amusant pour...
VBScript - Types de données VoirLe type de données Variant Le type d'une variable correspond à la manière dont l'ordinateur stocke la variable en mémoire, c'est-à-dire la succession de 0 et de 1 dans les cases mémoire. VBScript comprend un type de données par défaut pouvant...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les tableaux VoirType de données complexes Les variables, telles que nous les avons vues, ne permettent de stocker qu'une seule donnée à la fois. Or, pour de nombreuses données, comme cela est souvent le cas, des variables distinctes seraient beaucoup trop lourdes...

1

ssebounet, le 26 jan 2005 à 14:06:26

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

Répondre à ssebounet

2

Lupin.Arsene, le 26 jan 2005 à 15:00:58
  • +1

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~

Répondre à Lupin.Arsene

3

ssebounet, le 26 jan 2005 à 15:47:55
  • +1

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

Répondre à ssebounet

4

 Lupin.Arsene, le 26 jan 2005 à 17:06:00

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~

Répondre à Lupin.Arsene