Hoe kan ik in VB werken met het copy van een object.
Dim lvobjTest as new OBJTest
Dim lvobjCopyTest as OBJTEst
set lvobjCopyTest = lvobjTest
Als ik nu propertys van lvobjCopyTest verander dan veranderen die ook in het origineel lvobjTest.
Ik weet dat dit komt omdat de variabele naam een referentie naar het object is, maar hoe kan ik het voorkomen. Met variabelen als input voor een functie gebruik ik "By Val" ook die ken ik.
Zelf heb ik al bedacht gebruik te maken van een globale functie
Maar is hier geen standaard oplossing voor in VB
Dim lvobjTest as new OBJTest
Dim lvobjCopyTest as OBJTEst
set lvobjCopyTest = lvobjTest
Als ik nu propertys van lvobjCopyTest verander dan veranderen die ook in het origineel lvobjTest.
Ik weet dat dit komt omdat de variabele naam een referentie naar het object is, maar hoe kan ik het voorkomen. Met variabelen als input voor een functie gebruik ik "By Val" ook die ken ik.
Zelf heb ik al bedacht gebruik te maken van een globale functie
code:
1
2
3
4
5
6
| Public Function CopyTestObject(ipTest as OBJTest) as OBJTest Dim dummy as new OBJTest dummy.df = .. etc set CopyTestObject = Dummy end function |
Maar is hier geen standaard oplossing voor in VB