Visual basic

igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012 - 29 avril 2008 à 15:36
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012 - 30 avril 2008 à 12:11
bonjour,

J'ai créé les classes pour controler les bases de donnés et je voulais donc les tester une par une mais je fais comment pour les tester en faite le programme que je dois ecrire? MERCI

22 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 07:25
"comment instancier ces classes ?"
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 10:00
bonjour

oui voila c'est ce que je veux

Merci
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 10:14
probleme résolu ? cool ^^
non ? et bien ne valide pas les réponses... là, pour moi, ton soucis est réglé

Dim MaVar As Class1
Set MaVar = new Class1
MaVar.MaMethode 12,5
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 10:22
a ok je savais pas voila je t'explique bein moi  j'avais une base de donné  et jai créé les classes et jai créé une classe mere qui s'apelle egix ok et après dans l'interface ou j'ai créé jai mis ce code la :

Private Sub Command1_Click()
    Set g_Egix = New CEgix
    g_Egix.init
   
End Sub

Private Sub Command2_Click()
Dim monanim As CAnimation
    For Each monanim In g_Egix.Animations
   
        MsgBox monanim.Libelle
    Next
End Sub
puis
 il me dit quand je le compile il me dit qu'il ne trouve pas LoadAnimations que j'ai mis dans la classe mere et j'ai declaré en plus il me dit introuvable quand je le lance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 10:29
leurs méthodes sont bien déclarées en Public, dans les classes ?
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 10:36
oui on les a declaré en public voia la regarde ou je vois pas ou il est le probleme alors qu'il est defini et lui il trouve pas :

Public Sub loadAnimations(Optional ByVal Loadall As Boolean = False)
Dim dyn As Recordset
Dim strsql As String
Dim AnimationTmp As CAnimation

   
     Set m_col = New Collection
  
    strsql = "Select * From Animations Order by ANI_Libelle"
    Set dyn = g_Egix.LocalDB.OpenRecordset(strsql)
   
    While Not dyn.EOF
        Set AnimationTmp = LoadAnimation(dyn!ANI_ID_ANI)
        If Loadall Then
            AnimationTmp.Sequences.LoadSequences
            AnimationTmp.Scenes.LoadSecnes
            AnimationTmp.Cellules.loadCellules
            AnimationTmp.Reglages.loadReglages
        End If
        dyn.MoveNext
    Wend
    dyn.Close

End Sub
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 10:40
a voir si il trouve bien LoadAnimation
qui est appelé là :
Set AnimationTmp = LoadAnimation(dyn!ANI_ID_ANI)
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 10:43
bein normalement c'est sur loadanimation  tu vois regarde dans la classe mere :

'Attention, les Animations doivent être chargés après les données de ref, car des recherches se font dona les collections
    'Animations
    Set m_ColAnimations = New CAnimations
    Set m_ColAnimations.Egix = Me
    m_ColAnimations.loadAnimations True
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 10:47
attention, tu en as deux :

LoadAnimation
et
LoadAnimations

pas meme nom, type, parametres....
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 10:54
bein oui j'ai declarer une pour laodAnimation et lautre Loadanimation(s)
la c ' est LoadAnimation:
    Public Function LoadAnimation(ByVal lId As Long) As CAnimation
Dim Animation As CAnimation

    Set Animation = New CAnimation
    Set Animation.Egix = Me.Egix
    Animation.LoadByID (lId)
    Add Animation
    Set LoadAnimation = Animation
   
End Function

en tout cas je te remercie de m'aidé c gentil je suis stagiare en visual basic je debute je vien d'aprendre les notion de classes et objet parce j'ai travaillé sous visual basic mais d'une autre façon en supervision reseau voila. Donc comme je suis pas un expert en Visual basic  je vois pas l'erreur
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 11:11
Donc, ta classe contient (après nettoyage) :


Public Function LoadAnimation(ByVal lId As Long) As CAnimation
Set LoadAnimation = New CAnimation
With LoadAnimation
Set .Egix = Me.Egix
.LoadByID (lId)
End With
Add LoadAnimation
End Function

Public Sub loadAnimations(Optional ByVal Loadall As Boolean)
Dim dyn As Recordset
Set m_col = New Collection
Set dyn = g_Egix.LocalDB.OpenRecordset("SELECT `ANI_ID_ANI ` FROM `Animations` ORDER BY `ANI_Libelle` ")

Do Until dyn.EOF
With LoadAnimation(dyn.Fields(0).Value)
If Loadall Then
.Sequences.LoadSequences
.Scenes.LoadSecnes
.Cellules.loadCellules
.Reglages.loadReglages
End If
End With
dyn.MoveNext
Loop
dyn.Close
End Sub

donc:
on évite de ramener plus que nécessaire dans les recordset (SQL à corriger)
on utilise With, pour accelerer la chose... (le traitement, pas le codage)
While...Wend a rempalcer par Do While /Do Until ....
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 11:16
je te remerci je vai essayé est ce que ta uen adresse mail je tenvoi le projet et tu regrade si tu veu bien
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 11:31
Private m_ColAnimations As CAnimation

au lieu de

Private m_ColAnimations As CAnimations
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 11:36
mais ou sa
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 11:40
tu as déclaré m_ColAnimations en tant que CAnimation au lieu de CAnimations, voilà tout...
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 11:44
ok merci
mais apres commen je fait pour par exemple pour apellé les autres classe pour voir si sa marche en gros
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 11:46
déjà, pense a lancer ton soft en pressant Ctrl+F5 (ou désactive la compilation en arrière plan)
ca te trouveras quelques erreurs.

sinon, pour les tests, y'a rien d'automatique....
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 11:52
j'ai tester mais il me dit ke je lai ouvert deja tro bizare bon apres commen sa automatique je crée box et je l'ai appelé non c Sa? en tout cas c sympas j'esrepere que je te casse pas la tete avec mon probleme
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 avril 2008 à 11:59
avec ton probleme, non, a comprendre ce que tu dis, un peu plus
0
igor941 Messages postés 25 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 26 mars 2012
30 avril 2008 à 12:02
ok  desole bein en tout cas on peu resté en contact parce que je travaille jusqu'a à la fin de mon stage et j'aurais besoin d'aide donc si on peu rester en contact serai bien bon tu sait pourqoui il me dit message erreur projet deja ouvert ou un truc comme  sa
0