1
C++ Builder XE를 사용하여 COM 서버를 만들고 있습니다. ProgID는 항상 'PROGRAMNAME.CLASSNAME'입니다.IDE에서 ProgID 설정
어떻게 ProgID를 변경합니까? 'COMPANYNAME.PROGRAMNAME.FUNCTIONALITY'를 사용하고 싶습니다.
아마 델파이 대답이면 충분할 것입니다.
C++ Builder XE를 사용하여 COM 서버를 만들고 있습니다. ProgID는 항상 'PROGRAMNAME.CLASSNAME'입니다.IDE에서 ProgID 설정
어떻게 ProgID를 변경합니까? 'COMPANYNAME.PROGRAMNAME.FUNCTIONALITY'를 사용하고 싶습니다.
아마 델파이 대답이면 충분할 것입니다.
GetProgID 공장 출하시 설정을 덮어 씁니다. 다음의 라인을 따라 뭔가 수행해야합니다
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()를 가지고있다.
Bruneau
감사
건배, 다음 동안 테스트하고 작동하는 경우 올바른으로 답을 표시합니다. –