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
Partager