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

Тема в разделе "Lotus - Программирование", создана пользователем fedotxxl, 25 май 2009.

  1. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Byval работает только на простые типы - string?... У меня есть свой type или function. Мне необходимо при выходе из функции вернуть его значение, какое было при входе в функцию... и это необходимо сделать с минимальными нагрузками на сервер (мин. использование памяти)
     
  2. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    вопрос не ясен... ты хоть сам понял че сказал?.. :)
    параметр переданный по ByVal не будет изменен после выполнения функции.
    объекты всегда передаются по ссылке, возможно некоторые другие типы тоже...
     
  3. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Запомнить значение параметра в начале функции и вернуть его в конце.

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    TIA
    Так восстановим только ссылку, а объект останется измененным. :)

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

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Да, это важное уточнение.
     
Загрузка...

Поделиться этой страницей