首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在集成开发环境中设置ProgID

在集成开发环境中设置ProgID
EN

Stack Overflow用户
提问于 2010-12-04 09:42:21
回答 1查看 492关注 0票数 1

我正在使用C++生成器XE创建COM服务器。它的ProgID始终是'PROGRAMNAME.CLASSNAME‘。

如何更改ProgID?我想使用‘COMPANYNAME.PROGRAMNAME.FuncIONALITY’。

Delphi的答案可能就足够了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-05 07:57:10

重写工厂的GetProgID方法。下面的内容应该是这样的:

代码语言:javascript
复制
template <typename T>
class TMyCppComObjectFactory : public TCppComObjectFactory<T>
{
protected:
  System::UnicodeString __fastcall GetProgID()
  {
    return "Company.ProgName.Functionality";
  }
public:
  __fastcall TMyCppComObjectFactory(Comobj::TComServerObject* ComServer,
          Comobj::TComClass ComClass,
          const GUID &ClassID,
          const System::String ClassName,
          const System::String Description,
          Comobj::TClassInstancing Instancing,
          Comobj::TThreadingModel ThreadingModel) :
       TCppComObjectFactory<T>(ComServer, ComClass, ClassID,
                               ClassName, Description,
                               Instancing, ThreadingModel)
  {
  }
};

然后让COM服务器的createFactory()使用派生工厂。

干杯,

布鲁诺

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4351458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档