VB6: Erreur de compilation incompréhensible....pour moi - VB/VBA/VBS - Programmation
Marsh Posté le 07-05-2003 à 11:37:49
backdafuckup a écrit : mais il te la met sur quelle ligne cette erreur ? |
sur : colQuarantaine.Add quarantaine
Marsh Posté le 07-05-2003 à 11:37:56
en gros: ton type structure est présent dans la définition de ton interface (argument et/ou valeur de retour) et il n'aime pas car cela ne peut figurer que dans une classe dite publique, qui n'est possible que dans une DLL ActiveX.
Le workaround est de transformer ton type en classe où tu déclareras les éléments de ton type sous forme de variables publiques. L'inconvénient est que tu devras gérer des objets au lieu de simples structures
Marsh Posté le 07-05-2003 à 11:40:41
drasche a écrit : en gros: ton type structure est présent dans la définition de ton interface (argument et/ou valeur de retour) et il n'aime pas car cela ne peut figurer que dans une classe dite publique, qui n'est possible que dans une DLL ActiveX. |
Il faut donc que je rajoute un module de classe à mon projet ?
Et ensuite, comment je déclare cette classe ?
Marsh Posté le 07-05-2003 à 11:46:38
ben ajouter une classe, c'est la déclarer
tu changes son nom, tu fais les Public MaVariable As Type dont tu as besoin, puis tu l'utilises comme n'importe quelle classe avec New et Nothing.
Marsh Posté le 07-05-2003 à 11:54:11
drasche a écrit : ben ajouter une classe, c'est la déclarer |
OK merci beaucoup !!!!
Marsh Posté le 07-05-2003 à 11:31:33
Bonjour à tous!
voila mon code :
' je declare un type
private Type SauvegardeQuarantaine
lngNumLigneCommande As Long
lngQteQuarantaine As Long
End Type
puis je fais:
Dim colQuarantaine As New Collection
Dim quarantaine As SauvegardeQuarantaine
quarantaine.lngNumLigneCommande = 123
quarantaine.lngQteQuarantaine = 123 colQuarantaine.Add quarantaine
et la ca plante à la compilation :
"Seuls les types de données définis par l'utilisateur et dans des modules objet public peuvent être converti vesr un variant ou passés en parametre à des fonctions à liaison tardive"
Merci de votre aide