C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 10 - Создаем ActiveX с ATL / ActiveX по шагам / Приложение

Шаг 10 - Создаем ActiveX с ATL

Запускайте VC и выбирайте тип проекта ATL COM AppWizard. Имя проекту давайте дадим ATLTest. Нажимайте OK и сразу Finish. Появится окно с информацией о том, что чего-то там сформировано. Ну и ладно. Посмотрите и опять OK. Посмотрите ClassView. Там то как раз и класса нет. Его нужно создать.

Выбирите меню Insert и New ATL Object. В разделе Category выбирите Objects. А разделе Objects нужно выбрать Simple Object. Все теперь нужно нажать Next. Появится новое окно свойств ATL. Здесь мы пока заполним только одно свойство - Short Name. Впишите туда ATLClass. Вы увидите, что другие окна заполняются автоматически. Вобщем-то другие имена можно поменять. Только зачем? Нажимайте OK. И вот теперь в ClassView вы увидите появившийся класс CATLClass. А так же файл IDL c информацией на языке ODL. Я писал недавно про этот файл.

Давайте теперь создадим метод, то есть функцию объекта. Для этого выделите в ClassView пункт IATLClass нажмите правую кнопку мыши и выбирите Add Metod. Появится диалоговое окно. Заполните его как на рисунке внизу.

10_1.gif (3188 b)

И нажмите OK. Вы должны заметить изменения в ClassView. Во-первых, появилось описание метода в IDL файле.

......
interface IATLClass : IDispatch
{
	[id(1), helpstring("method ATLMessage")] HRESULT ATLMessage();
};
......

А также в описании класса CATLClass:

.......
// IATLClass
public:
	STDMETHOD(ATLMessage)();
};
#endif //__ATLCLASS_H_
........

Давайте создадим код для нашей функции

STDMETHODIMP CATLClass::ATLMessage()
{
	MessageBox(0,"My Atl object","Probe",0);

	return S_OK;
}

Теперь проект нужно собрать. Меню Build, далее пункт меню Build ATLTest.dll. При сборке проекта производится регистрация элемента. В окне Build Вы увидите такие записи.

Performing registration
RegSvr32: DllRegisterServer in .\Debug\ATLTest.dll succeeded.

Кроме того в каталоге с проектом создан файл ATLTest.tlb. Он нужен для подключения элемента к программам на VC и VB в дальнейших шагах мы его протестируем и на VC и на VB.


Загрузить проект | | |
Автор Каев Артем.
[AD]