Категория
Информатика
Тип
статья
Страницы
5 стр.
Дата
20.07.2013
Формат файла
.doc — Microsoft Word
Архив
800197.zip — 6.49 kb
  • oformlenie-klassa-v-vide-com-obekta-v-c_800197_1.doc — 35.5 Kb
  • Readme_docus.me.txt — 125 Bytes
Оцените работу
Хорошо  или  Плохо


Текст работы

Оформление класса в виде COM объекта в C++
Оформление класса в виде COM объекта.
Допустим у вас есть некоторое приложение, написанное на C++(VC++ если быть корректным). Как оно у вас появилось не суть важно, может быть это ваша старая разработка, может быть вы решили сначала отладить предметную часть. Важно то что вы горите желанием вынести часть классов в объектные модули и оформить их в виде ActiveX, COM и ATL объектов. Есть несколько типовых проблем связанных с таким переносом.
Множественные конструкторы.
class MyCOM
{
MyCOM();
MyCOM(long id);
MyCOM(long id,LPCSTR Name);
:
}
Знакомо и очень удобно, но в COM правила создания объекта строго определены и ни одна из функции для созданий объектов не позволяет передавать параметры конструктору класса.
Настройку объекта придется вынести в отдельный метод например Init.
// IMyCOM cтандартная обертка наследник от COleDispatchDriver
IMyCOM * d=new IMyCOM;
COleException pErr;
CString SSS="Mylib.MyCOM";
d->CreateDispatch( SSS,&pErr);
d->Init(15,"Матрица"); // Инициализируем
В принципе вы можете создать свою фабрику объектов. Это позволит создавать объекты вот так.
IMyOF * d=new IMyOF;
COleException pErr;



Ваше мнение



CAPTCHA