Как при выходе из функции вернуть "старое" значение объекта

fedotxxl

Well-Known Member
09.11.2005
614
0
#1
Byval работает только на простые типы - string?... У меня есть свой type или function. Мне необходимо при выходе из функции вернуть его значение, какое было при входе в функцию... и это необходимо сделать с минимальными нагрузками на сервер (мин. использование памяти)
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#2
вопрос не ясен... ты хоть сам понял че сказал?.. :)
параметр переданный по ByVal не будет изменен после выполнения функции.
объекты всегда передаются по ссылке, возможно некоторые другие типы тоже...
 

TIA

:-)
Lotus team
15.05.2009
790
2
#3
Byval работает только на простые типы - string?... У меня есть свой type или function. Мне необходимо при выходе из функции вернуть его значение, какое было при входе в функцию... и это необходимо сделать с минимальными нагрузками на сервер (мин. использование памяти)
Запомнить значение параметра в начале функции и вернуть его в конце.

Код:
Sub foo(paramA as ...)
Set onEnter = paramA
...
Set paramA = onEnter
End Sub
Операция очень быстрая, т.к. физически копируется только ссылка на объект.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#4
TIA
Так восстановим только ссылку, а объект останется измененным. :)

Надо создать новый объект и скопировать в него все данные.