Шаг 11 - Свойства COM DLL Unattended Execution и Log файл

Этот флаг заставит запретить взаимодействовать с пользователем. У нас в проекте есть следующий код:

Sub Main()
MsgBox "Main"
End Sub

Это как раз и есть взаимодействие с пользователем. Элемент сообщает о действии. Так же элемент может выводить всякие там сообщения об ошибках и так далее. Установка этого флага заставит все это запретить. Давайте напишем еще код вывода сообщений:

Public Property Get Name() As String
Name = ChetName
MsgBox "GetName"
End Property

И установим свойство:

gif/11_1.gif (3283 b)

Заново соберем проект и протестируем в нашем тестовом приложении. Никаких сообщений выводиться не будет. Уберите флаг, соберите 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.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.