Динамическое связывание клиента на основе модели компонентных объектов Microsoft (COM) с компонентами .NET Существующие клиенты на основе модели компонентных объектов Microsoft (COM)
можно динамически связать с управляемыми компонентами, так как все управляемые
типы непосредственно поддерживают стандартный интерфейс модели компонентных
объектов Microsoft (COM)— IDispatch. Способ, которым это выполняет общеязыковая
среда выполнения CLR платформы .NET, чем-то похож на традиционное динамическое
связывание в Visual Basic. Без всяких усилий в области программирования общеязыковая
среда выполнения CLR немедленно генерирует реализацию IDispatch, основываясь
на метаданных, обнаруженных в сборке компонента. Несмотря на то, что клиент
динамического связывания может быть написан в Visual C++ 6.0 с использованием
интеллектуального указателя библиотеки шаблонных классов ATL или даже непосредственного
вызова методов IDispatch, проще это можно продемонстрировать, взяв клиент, который
реализован с помощью короля динамического связывания — Visual Basic.
Regasm SomeManagedClass.dll /tlb Затем в Visual Basic можно добавить к проекту ссылку на файл SomeManagedClass.tlb. Это сделает доступным класс ManagedClass. Кроме того, обычно требуется добавить ссылку на библиотеку типов mscorlib. tlb, чтобы открыть доступ к различным типам .NET. И еще: сборку SomeManagedClass.dll нужно либо скопировать в папку клиента, либо занести в глобальный кэш сборок. Следующий фрагмент программы на VB демонстрирует динамическое связывание с компонентом .NET: Private Sub Commandl_Click() ' Частный
Введя этот текст, можно создать из него исполняемый файл ЕХЕ и запустить его на выполнение. В результате появится окно с сообщением, в котором будет выведен результат — число 7, показанное на рис. 15.6.
Как строить и запускать исполняемый файл на Visual Basic 1. File => Make Projectl.exe.
|