Вход/Регистрация
C# для профессионалов. Том II
вернуться

Ватсон Карли

Шрифт:

Как можно видеть, программа

AxImp.exe
выводит два файла.

Первый выходной файл

MSMAPI.dll
является прокси для сборки. Он позволяет ссылаться на компонент ActiveX, как если бы это был неграфический объект, с помощью его методов и свойств таким же образом, каким используются методы и свойства неграфического класса.

Второй файл

AxMSMAPI.dll
является элементом управления Windows. Он позволяет использовать графический аспект импортированного элемента управления ActiveX как элемент управления Windows в проектах Forms Windows .NET.

При использовании

AxImp
желательно убедиться, что для этих двух выходных файлов предоставляются явные и уникальные имена, так как, по крайней мере, в бета-версии SDK .NET
AxImp.exe
имеет потенциальную возможность перезаписывать входные файлы без предупреждения.

Ссылка на сборку прокси ActiveX

Как сказано выше, вывод сборки прокси утилитой AxImp.exe позволяет ссылаться на компонент ActiveX программным путем без использования графических аспектов. Для этого необходимо просто добавить ссылку на прокси сборки с помощью вкладки Reference в IDE VS.NET после того, как AxImp.exe сделает свою работу:

После создания ссылки на сборку прокси можно использовать в коде программы компонент ActiveX. В примере ниже используется прокси

MSMAPI32.осх
для отправки почтового сообщения:

public static int Main {

 MAPISession objSession=new MAPISession;

 MAPIMessages objMessage=new MAPIMessages;

 objSession.Password="password";

 objSession.UserName="me@mydomain.com";

 objSession.SignOn;

 objMessage.SessionID=objSession.SessionID;

 objMessage.Compose;

 objMessage.MsgSubject="MAPI Contol Test";

 objMessage.MsgNoteText="The message body.";

 objMessage.RecipAddress="you@yourdomain.com";

 objMessage.ResolveName;

 objMessage.Send(null);

 objSession.SignOff;

 return 0;

}

Размещение элемента управления ActiveX в WinForm

Также достаточно просто разместить элемент управления ActiveX в форме Windows. Чтобы сделать это, сначала запустим диалоговое окно Customize Toolbox из IDE VS.NET, щелкнув правой кнопкой мыши в панели инструментов IDE и выбрав соответствующий пункт в контекстном меню. Когда появится диалоговое окно, надо перейти на вкладку .NET Framework Components и найти созданный утилитой

AxImp.exe
файл элемента управления Windows. После закрытия диалогового окна Customize Toolbox импортированный элемент управления появится в панели управления IDE и можно будет добавить его в Windows Form таким же образом, каким добавляются любые другие элементы управления Windows.

Использование компонентов .NET в COM

Также, как используются компоненты COM и элементы управления ActiveX в коде .NET, можно применять компоненты .NET в стандартном коде Windows. Только несколько свойств сборок .NET недоступны через COM, включая параметризованные конструкторы, статические методы и константные поля. Кроме того, доступ к перегруженным методам .NET из COM требует дополнительной работы.

RegAsm.exe

Применение компонентов COM в коде .NET требует другой утилиты, которая существует в SDK .NET, являющейся аналогом программы импорта библиотеки типов, которую мы видели ранее. Название этой утилиты —

RegAsm.exe
.

Название утилиты

RegAsm
(Register Assembly) обозначает ее функцию, она отвечает за ввод информации о типе компонента .NET в системный реестр, чтобы службы COM могли к нему обратиться. После регистрации компонента .NET с помощью RegAsm, стандартные клиенты Windows могут сделать позднее соединение с классами компонента. Процесс регистрации компонента должен быть сделан только один раз. После регистрации все клиенты COM могут к нему обращаться.

В качестве примера рассмотрим следующий код. Он принадлежит классу в библиотеке классов .NET. Функция получает просто число в качестве аргумента ввода и возвращает факториал этого числа:

namespace Factorial {

 using System;

 public class Factorial {

// Этот метод вычисляет факториал числа

public int ComputeFactorial(int n) {

int intFactorial=n;

for (int i = 1; i<n; i++) {

  • Читать дальше
  • 1
  • ...
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: