Copie d'un objet

Signaler
Messages postés
232
Date d'inscription
mercredi 25 octobre 2000
Statut
Membre
Dernière intervention
5 octobre 2012
-
Messages postés
7
Date d'inscription
vendredi 13 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2003
-
Bonjour comment copier une instance d'un objet. "Set MonObjet2= MonObjet" ne crée qu'un pointeur vers l'objet et moi je souhaite le dupliquer ? Merci

6 réponses

Messages postés
44
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
13 avril 2004

Tu dois créer un groupe de contrôle pr ce objet.
J'ai oublié le menu voice une autre méthode:
il faut que tu place le meme objet sur ta form et que tu donnes le meme nom, dans ce cas tu dois avoir une question concernant le groupe de controle tu l'accepte et tu supprime l'objet que tu viens de créer

maintenant tu peux dupliquer ton objet autant de fois que tu veux

I : représente le nbr de fois que tu dupliquer

I = I + 1
load MonObjet(I)
MonObjet(I).visible = True

l'objet est recréer avec les mêmes caratéristiques que le premier
0
Messages postés
232
Date d'inscription
mercredi 25 octobre 2000
Statut
Membre
Dernière intervention
5 octobre 2012

Ok mais je ne parlais pas d'un objet contrôle mais d'une instance. Y a t il une solution !
0
Messages postés
7
Date d'inscription
vendredi 13 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2003

Salut peug,

Je suis exactement à me poser la même question.

clsObjet étant une classe définie par moi

Dim unObjet1 AS clsObjet
Set unObjet1 = New clsObjet

Dim unObjet2 AS clsObjet
Set unObjet2 = New clsObjet

unObjet1 = unObjet2

La dernière ligne de code me donne une erreur de type :

Run-time error '13'
Type Mismatch

J'ai essayé :

Set unObjet1 = unObjet2

Sous les recommandations de mon ancien prof de VB mais ça ne fonctionne pas plus.

Si je trouve la solution je te fais signe et si tu trouves la solution fais-moi signe!!!

Si quelqu'un à la solution ne vous gênez pas pour m'envoyer un email à :

marco_brunelle@hotmail.com

Merci beaucoup!
0
Messages postés
232
Date d'inscription
mercredi 25 octobre 2000
Statut
Membre
Dernière intervention
5 octobre 2012

Hello ! Depuis je n'ai trouvé que cette solution là :
Dans la classe, j'ai ajouter un fonction Clone

Public Function Clone() As clsObjet
Set Clone = New clsObjet
Clone.variable1= mvariable1
Clone.variable2= mvariable2
Clone.variable3= mvariable3
End Function

Cela fonctionne très bien mais si tu rajoutes une variable, il ne faut pas oublier de retoucher à cette fonction.

Comme toi, j'aimerai trouver une solution afin de dupliquer variables par variables....

@+
0
Messages postés
7
Date d'inscription
vendredi 13 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2003

Ouin j'ai déjà pensé à cette solution, mais c'est inutilisable dans mon cas, ma classe est auto-référenciable. C'est-à-dire qu'elle contient comme propriété un tableau d'instances de cette même classe.

Et j'utilise en plus des fonctions récursives qui retournent des objets de cette même classe classe.

Donc, je dois trouver une façon d'affecter une instances de cette classe par une autre instance de la même classe...

Vive le C++

?-)

@+
0
Messages postés
7
Date d'inscription
vendredi 13 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2003

Resalut mon cher peug,

Il semblerait que mon problème vienne d'ailleurs...

Essait de faire ce qui suit :

Set Objet1 = Objet2

Ça devrait fonctionner

:big)

Tiens moi au courant

Marco
0