Этот флаг заставит запретить взаимодействовать с пользователем. У нас в проекте есть следующий код:
Sub Main() MsgBox "Main" End Sub
Это как раз и есть взаимодействие с пользователем. Элемент сообщает о действии. Так же элемент может выводить всякие там сообщения об ошибках и так далее. Установка этого флага заставит все это запретить. Давайте напишем еще код вывода сообщений:
Public Property Get Name() As String Name = ChetName MsgBox "GetName" End Property
И установим свойство:
Заново соберем проект и протестируем в нашем тестовом приложении. Никаких сообщений выводиться не будет. Уберите флаг, соберите DLL и они будут опять появляться. Зачем все это понятно. Сообщения Вы можете использовать при тестировании элемента. А когда элемент будет работать где-нибудь в MTS на сервере к чему эти сообщения ? Но все равно как-то вести регистрацию ошибок надо. Выход использовать LOG файл. И эта возможность уже встроена в объект APP. Смотрим код:
Sub Main() With App ' будем использовать функции обьекта App .StartLogging "c:\windows\chet.log", vbLogToFile .LogEvent "Main" End With End Sub Public Property Get Name() As String Name = ChetName App.LogEvent "Get Name" End Property Public Property Let Name(Name As String) ChetName = Name App.LogEvent "Set Name" End Property
Можно запускать наше тестировочное приложение и использовать функции. Результат будет находиться там где мы указали в файле вот в таком виде:
Information Application c:\windows\chet.log: Thread ID: -2092409 ,Logged: Main Information Application c:\windows\chet.log: Thread ID: -2092409 ,Logged: Get Name Information Application c:\windows\chet.log: Thread ID: -2092409 ,Logged: Set Name
Сразу хочу сказать, что вариантов ведения LOG файла много в частности в NT он отличается от принятого в Windows 9X.