J'utilise une interface pour modifier les objets et proprietes d'une
collection qui est déclaré en public dans mon programme.
J'utilise une copie de la collection public afin de faire mes modifications,
je pourrais donc tres facilement revenir sur l'etat initiale de ma collection.
Par contre si il enregiste ces modifications, j initialiserai ma collection
public avec la copie locale.
Methode de copie de ma collection :
-----------------------------------------------------
'--- Copie locale de la collection : Variables
dim oVariable as Variable
dim cVariables as Variables
Set cVariables = New Variables
For Each oVariable In Public.ColVariables
cVariables.Add_Variable(oVariable, StrMsg,
oVariable.sCodeVariable) Then
Next
PS : Toutes les modifications, sont prises en compte dans cVariables.
Modifications de ma copie locale :
-----------------------------------------------------
'--- Lorsque je supprime un Item de la collection (copie Locale)
cVariables.remove (1)
PS : La suppression se fait uniquement au niveau de la copie Locale
C'est ce que j attendais......
'--- Lorsque je modifie un item
cVariables.item(1).sLibelle="XXXXXXXX"
PS : La modifications se fait au niveau des deux collections
Bizarre
Encore plus bizarre :
Si je modifie ma collection public, il me modifie ma copie Locale
exemple
si Pubc_Varaible.item(1).sLibelle="yyyyyyyyyy"
alors ma copie locale faut elle aussi
cVariables.item(1).sLibelle="yyyyyyyyyy"
AIDER MOI AIDER MOI AIDER MOI AIDER MOI AIDER MOI AIDER MOI
AIDER MOI AIDER MOI AIDER MOI AIDER MOI AIDER MOI AIDER MOI
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut! :O)
'--- Copie locale de la collection : Variables cVariables.Add_Variable(oVariable, StrMsg, oVariable.sCodeVariable) Then
tu ne fait pas une copie de l'objet, tu passes la référence à celui-ci, c'est pourquoi il est modifié lorsque tu le modifies.. (les deux collections pointe sur les même objets..)
si la classe cVariable est une classe que tu as codé, il te faudrait codé une méthode Clone(), regarde ce lien pour plus de détail : http://groups.google.com/groups?threadm=eijE9iKQDHA.1072%40TK2MSFTNGP10.phx.gbl
-- Cordialement Yanick Lefebvre - MVP pour Visual Basic Le français se refait une beauté, parlons en : http://www.orthographe-recommandee.info/
Salut! :O)
'--- Copie locale de la collection : Variables
cVariables.Add_Variable(oVariable, StrMsg,
oVariable.sCodeVariable) Then
tu ne fait pas une copie de l'objet, tu passes la référence à celui-ci,
c'est pourquoi il est modifié lorsque tu le modifies.. (les deux collections
pointe sur les même objets..)
si la classe cVariable est une classe que tu as codé, il te faudrait codé
une méthode Clone(), regarde ce lien pour plus de détail :
http://groups.google.com/groups?threadm=eijE9iKQDHA.1072%40TK2MSFTNGP10.phx.gbl
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
'--- Copie locale de la collection : Variables cVariables.Add_Variable(oVariable, StrMsg, oVariable.sCodeVariable) Then
tu ne fait pas une copie de l'objet, tu passes la référence à celui-ci, c'est pourquoi il est modifié lorsque tu le modifies.. (les deux collections pointe sur les même objets..)
si la classe cVariable est une classe que tu as codé, il te faudrait codé une méthode Clone(), regarde ce lien pour plus de détail : http://groups.google.com/groups?threadm=eijE9iKQDHA.1072%40TK2MSFTNGP10.phx.gbl
-- Cordialement Yanick Lefebvre - MVP pour Visual Basic Le français se refait une beauté, parlons en : http://www.orthographe-recommandee.info/