[AIDE]Instance de classe dans une classe

nico_fip1 Messages postés 80 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 26 septembre 2006 - 9 oct. 2005 à 20:22
nico_fip1 Messages postés 80 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 26 septembre 2006 - 10 oct. 2005 à 10:29
Bonsoir à tous,



J'ai crée 2 classes différentes :

- "Connexion"
- "FTP"


Mon but est que la classe "Connexion" intègre un objet FTP de type "ClsFTP"



Si oui, comment faut-il la définir ?



Voici un bout de code, qui passe pas ... "Mauvaise utilisation du mot clé New"



Option Explicit



' OBJETS DE LA CLASSES


Private WithEvents FTP As ClsFTP

____________________________________________________

' CREATION ET DESTRUCTION DE LA CLASSE

Private Sub Class_Initialize()

Set FTP = ClsFTP C'est là qu'il rale...

End Sub

____________________________________________________

Private Sub Class_Terminate()

Set FTP = Nothing

End Sub

_______________________________________________

Merci d'avance


Nico
Strasbourg
France

9 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 oct. 2005 à 21:12
Il me semble (mais ca reste à vérifier) qu'une classe avec événement ne
peut être instanciée dans une autre classe => supprime le WithEvents
dans ta déclaration.

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
nico_fip1 Messages postés 80 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 26 septembre 2006
9 oct. 2005 à 22:00
Le problème, est que ma classe crée des Evenements...

Par exemple "ConnexionOK", "ConnexionRompue"....



As tu une autre technique ?



Merci déjà pour ta réponse rapide ...

Nico
Strasbourg
France
0
nico_fip1 Messages postés 80 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 26 septembre 2006
9 oct. 2005 à 22:31
Encore un détail : Dans une form, il n'y a pas de pb en faisant

___________________________________________________

Public WithEvents g_Connexion As ClsConnexion

Public Mise_a_Jour As ClsMise_a_jour

___________________________________________________

Private Sub MDIForm_Initialize()

Set g_Connexion = New ClsConnexion 'Affectation des objets

Set Mise_a_Jour = New ClsMise_a_jour

End Sub


Nico
Strasbourg
France
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 oct. 2005 à 22:37
bonsoir,
désolé de contre-dire Dark, mais une Classe avec Events peut sans problème contenir d'autres Classes (elles-mêmes avec ou sans Events)

Private FTP .... as NEW ....

Set FTP = NEW ...

PCPT
0

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

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 oct. 2005 à 06:32
Exact pcpt, alors essaye :



Option Explicit

' OBJETS DE LA CLASSES
Private WithEvents FTP As ClsFTP
____________________________________________________
' CREATION ET DESTRUCTION DE LA CLASSE
Private Sub Class_Initialize()
Set FTP = New ClsFTP
End Sub
____________________________________________________
Private Sub Class_Terminate()
Set FTP = Nothing
End Sub

_______________________________________________

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
nico_fip1 Messages postés 80 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 26 septembre 2006
10 oct. 2005 à 08:12
Là, le compilateur n'est pas contant...
J'avais fais une erreur en recopiant mon code
J'avais effectivement mis le New, et il met
"Mauvaise utilisation du mot clé New"
Par contre, si je mets cette instruction dans un autre sub de la Classe, pas de problème.

J'essaye encore qqch, et si j'ai du neuf, je vous en informe.

A+

Nico
Strasbourg
France
0
nico_fip1 Messages postés 80 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 26 septembre 2006
10 oct. 2005 à 08:44
Re...
MEACULPA... Confusion entre Classe et Objet ocx
Je vais essayer de vous expliquer clairement ce qu'il se passe.
J'ai donc une classe "Connection", qui contient une instance de classe "FTP"
Contrairement à tout ce que je disait présedement, là, tout se passe bien.

Private Sub Class_Initialize() 'Dans la classe ClsConnexion
Set FTP = New ClsFTP
' OK
End Sub

Par contre, ma classe FTP contient elle un Socket (Objet ocx)
Et là,

Private withEvents SocketFTP As Socket

Private Sub Class_Initialize() 'Dans la classe ClsFTP
Set SocketFTP = New Socket 'N
OK
End Sub

Il en va de même, si je mets un Timer.

Private withEvents TimeOut As Timer

Private Sub Class_Initialize() 'Dans la classe ClsFTP
Set TimeOut = New Timer 'N
OK
End Sub

Nico
Strasbourg
France
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 oct. 2005 à 09:40
salut,
essaie de déclarer aussi en NEW ?
et ton Timer, t'es sûr qu'il ne nécessite pas un interval pour être déclarer?
PCPT
0
nico_fip1 Messages postés 80 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 26 septembre 2006
10 oct. 2005 à 10:29
Il est interdit de déclarrer un objet en utilisant les 2 mots clés Nex et WithEvents...

En fait, j'ai l'impression qu'on ne peut pas faire de Set ....New as "Control"

Nico
Strasbourg
France
0
Rejoignez-nous