Тема: Получить переменную из другой процедуры

Добрый день!
Не понимаю как можно получить значение переменной созданной в другой процедуре.
Например, при показе формы создается переменная с обозначением документа (скрипт вызывается из окна тех.процесса):

Sub FormEvent_OnFormShow(Form)
'Form As ITCSForm
    Dim AM ' AS IGModule
    Dim idnote ' As Integer
    Idx = Form.UserData.IndexOf(ActiveModuleTagName)
    If Idx >= 0 Then
        Set AM = Form.UserData.TagValues(Idx)
    Else
        Call TCSApp.ShowErrorMessage("В UserData не найдена строка с именем '" & ActiveModuleTagName & "'!")
        Exit Sub
    End If
  Set NmkFullInfo = AM.ChildModules.ModuleByName("NmkFullInfo").AsIDispatch
  NMKNOTE = Form.UserData.Text(NmkFullInfo.Properties("NMK_NOTE").asstring)
End Sub

А как получить эту переменную NMKNOTE при обработке события нажатия на кнопку?

Re: Получить переменную из другой процедуры

1. Сделать переменную глобальной (не очень хорошо, но можно)
2. Сохранить ее в UserData у формы (собственно здесь пример работы с ней и написан, хотя как то странно).

Re: Получить переменную из другой процедуры

Чем плохо, если переменная будет глобальная?

Re: Получить переменную из другой процедуры

Возможно ничем, если вас устраивает.

Если это наши модули, то лучше их хотя бы при закрытии формы правильно удалить (хотя это в любом случае лучше сделать).