VB6 : Pb pour retourner un tableau dynamique à une fonction d'une class. Erreur

Résolu
Polack77
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
- 22 août 2007 à 16:02
Polack77
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
- 22 août 2007 à 16:34
<!--[if gte vml 1]><v:shapetype
id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:11.25pt;
height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image001.gif"
o:href= "http://www.vbfrance.com/imgs2/smile.gif"/>
</v:shape><![endif]-->
<!--[if !vml]-->
<!--[endif]-->
Bonjour <!--[if gte vml 1]><v:shape
id ="_x0000_i1031" type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image001.gif"
o:href="http://www.vbfrance.com/imgs2/smile.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

    J'ai développé une classe qui effectue des extractions de
données d'une base de données, les stocke en mémoire, les modifie, ...

<!--[if gte vml 1]><v:shape
id="_x0000_i1026" type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image002.gif"
o:href= "http://www.vbfrance.com/imgs2/smile_angry.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
Je voudrais maintenant pouvoir extraire ces données de mon objet et les renvoyées
dans un module. Ces données sont stocker dans un tableau dynamique de
structure. Je n'arrive pas à développé une fonction qui me retourne ces données
(que je veux impérativement en final dans un tableau de structure)!!! Quoi que
je fasse j'ai toujours une erreur à la compil!!! Je commence à voir rouge !!! Ma dernière erreur est "byref
argument type mismatch" sur la ligne rouge. Ma structure est définie en
public dans un module (donc global à l'appli)





Mon code actuel (actuel car modifier au moins 12 fois) :

Dans la fonction appelante :
Dim teste() As S_TABCRI

Dim TESTEoBJ As ClassGestionPilTabcri

    Set TESTEoBJ = New ClassGestionPilTabcri

    TESTEoBJ.GetTABCRI teste 'C'est ici que l'erreur fait une sélection

Dans la classe :
Friend Sub GetTABCRI(ByRef Retour() As S_TABCRI)

Dim Compteur As Long

    ReDim Retour(LBound(FichierTABCRI) To UBound(FichierTABCRI))

    'CopyMemory Retour, FichierTABCRI

    For Compteur = LBound(FichierTABCRI) To
UBound(FichierTABCRI)

        Retour(Compteur) =
FichierTABCRI(Compteur) 'Si ici je dois copier les données champ par champ ce n'est pas grave

    Next

End Sub

<!--[if gte vml 1]><v:shape
id="_x0000_i1027" type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image003.gif"
o:href="http://www.vbfrance.com/imgs2/smile_sad.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->J'ai déjà tester plein de 'truc' et je suis à
cour d'idée.<!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75"
alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image003.gif"
o:href= "http://www.vbfrance.com/imgs2/smile_sad.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

HELP ME !!!








<!--[if gte vml 1]><v:shape
id ="_x0000_i1029" type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image004.gif"
o:href= "http://www.vbfrance.com/imgs2/smile_big.gif"/>
</v:shape><![endif]-->
<!--[if !vml]-->

<!--[endif]-->Amicalement
<!--[if gte vml 1]><v:shape
id ="_x0000_i1030" type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image004.gif"
o:href="http://www.vbfrance.com/imgs2/smile_big.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->


Pensez "Réponse acceptée"

4 réponses

cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
22 août 2007 à 16:25
Déclare ta struture dans un module de classe, et vérifie bien que le module de classe en question est instanciable publiquement.
3
Polack77
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
22 août 2007 à 16:34
OK!!!! Merci !!!

En faite je viens de tester 3 déclaration (c'est comme toujours la dernière qui
fonctionne, mais ça tourne<!--[if gte vml 1]><v:shapetype id="_x0000_t75"
coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:11.25pt;
height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image001.gif"
o:href="http://www.vbfrance.com/imgs2/smile_big.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_i1026"
type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image001.gif"
o:href="http://www.vbfrance.com/imgs2/smile_big.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_i1027"
type="#_x0000_t75" alt="" style='width:11.25pt;height:11.25pt'>
<v:imagedata src="file:///C:/DOCUME~1/Vincent/LOCALS~1/Temp/msoclip1/01/clip_image001.gif"
o:href="http://www.vbfrance.com/imgs2/smile_big.gif"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->)


Il faut déclarer la structure comme ça : "Public Type S_NomStruct" dans
un module.

Par contre il me semblais avoir déjà tester ça



MERCI
A+

Amicalement
Pensez "Réponce acceptée"
3
Polack77
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
22 août 2007 à 16:05
Oups
Perte de la couleur rouge (sans doute dû à un
copier coller)

La ligne rouge est :

TESTEoBJ.GetTABCRI teste 'C'est ici que l'erreur fait une sélection


Et c'est "teste" qui est sélectionné

Amicalement
Pensez "Réponce acceptée"
0
Polack77
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
22 août 2007 à 16:28
????
"Déclare ta struture dans un module de classe" OK (déjà tester mais je re-teste tout de suite)
"et vérifie bien que le module de classe en question est instanciable publiquement" ?????? Heeee c'est pas toujour le cas????

Amicalement
Pensez "Réponse acceptée"
0