Bonjour,

Je suis actuellement confronté à un problème dont la solution doit être toute bête, mais dont je n'arrive pas à me dépêtrer.

J'ai un fichier de sauvegarde dont je lie les donnée, ce qui me donne des objets obj1, obj2, etc... qui sont tous d'un type différent.

Je crée un objet temporaire "obj_courant" que je voudrais initialiser à la valeur d'un des objet de départ, puis laisser l'utilisateur le modifier, et ensuite si les modification sont validées, le remettre dans l'objet qui sera sauvegardé.
Mon problème est que lorsque je fais obj_courant=obj1 et que l'utilisateur modifie obj_courant, obj1 est modifié en même temps.

Le problème vient sans doute du "=" qui crée un lien permanent entre les 2 objets, alors que je voudrais juste prendre les valeurs.
Voici le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
dim obj1 as new maclasse1
dim obj2 as new maclasse2
dim obj_courant as object
...
 
lecture_sauvegarde() 'lit un fichier de sauvegarde et affecte les valeurs dans obj1 et obj2
 
objet_courant=nothing
object_courant=new maclasse1
objet_courant=obj1 'je veux récupérer les valeurs de obj1 et les mettre dans obj_courant
 
modification_objet_courant_classe1() 'l'utilisateur travaille sur l'objet courant de type classe1
 
if validation(obj_courant) then 'si les modification sont acceptées
 
obj1=objet_courant 'on modifie obj1
sauvegarde(obj1) ' et on le sauvegarde
end if
 
 
object_courant=nothing
objet_courant = new maclasse2
objet_courant=obj2
 
modification_objet_courant_classe2() 'l'utilisateur travaille sur l'objet courant de type classe2
 
if validation(obj_courant) then 'si les modification sont acceptées
 
obj2=objet_courant 'on modifie obj2
sauvegarde(obj2) ' et on le sauvegarde
end if