class ATL_NO_VTABLE CCallDev :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CCallDev, &CLSID_CallDev>,
public IConnectionPointContainerImpl<CCallDev>,
public IDispatchImpl<ICallDev, &IID_ICallDev, &LIBID_CALLERLib>,
public CProxy_ICallDevEvents< CCallDev >
已经派生于public IDispatchImpl了啊 是不是其他地方没加?
7 个解决方案
#1
查看一下是否有reg文件(可能是CallDev.reg).以及该文件的资源ID
代码中是否有之类的代码
DECLARE_REGISTRY_RESOURCEID(IDR_XXX)
#2
我写的COM 代码里面是有
DECLARE_REGISTRY_RESOURCEID(IDR_CALLDEV) 这句代码 但是没有CallDev.reg文件 不过有找到
CallDev.rgs这个文件 是要增加一个CallDev.reg文件吗? 里面是什么内容?
其实我主要是想在VC6调用我的COM比较方便,直接通过Insert ActiveX Control来生成相应的类然后调用我的COM组件 这样方便一点,但是搞不懂为何别人写的COM可以 我自己生成的不行
DECLARE_REGISTRY_RESOURCEID(IDR_CALLDEV) 这句代码 但是没有CallDev.reg文件 不过有找到
CallDev.rgs这个文件 是要增加一个CallDev.reg文件吗? 里面是什么内容?
其实我主要是想在VC6调用我的COM比较方便,直接通过Insert ActiveX Control来生成相应的类然后调用我的COM组件 这样方便一点,但是搞不懂为何别人写的COM可以 我自己生成的不行
#3
你查看一下IDR_CALLDEV对于的.reg文件是什么?
估计是这个组册文件不完善导致
估计是这个组册文件不完善导致
#4
如何查看? 我让我同事用VC6通过ATL COM APPWIZARD生成一个COM组件 注册后也是这种情况 这下杯具了
#5
你查看一下项目文件夹有有无.reg文件
#6
没有呀 没有.reg文件 tttyd能否留下个QQ 我加你
#7
你参考这个自己写一分.reg文件
HKCR
{
Chapter4.Math.1 = s 'Math Class'
{
CLSID = s '{5FB0C22F-3343-11D1-883A-444553540000}'
}
Chapter4.Math = s 'Math Class'
{
CurVer = s 'Chapter4.Math.1'
}
NoRemove CLSID
{
ForceRemove {5FB0C22F-3343-11D1-883A-444553540000} = s 'Math Class'
{
ProgID = s 'Chapter4.Math.1'
VersionIndependentProgID = s 'Chapter4.Math'
LocalServer32 = s '%MODULE%'
val AppID = s '{5FB0C222-3343-11D1-883A-444553540000}'
}
}
}
HKCR
{
Chapter4.Math.1 = s 'Math Class'
{
CLSID = s '{5FB0C22F-3343-11D1-883A-444553540000}'
}
Chapter4.Math = s 'Math Class'
{
CurVer = s 'Chapter4.Math.1'
}
NoRemove CLSID
{
ForceRemove {5FB0C22F-3343-11D1-883A-444553540000} = s 'Math Class'
{
ProgID = s 'Chapter4.Math.1'
VersionIndependentProgID = s 'Chapter4.Math'
LocalServer32 = s '%MODULE%'
val AppID = s '{5FB0C222-3343-11D1-883A-444553540000}'
}
}
}
#1
查看一下是否有reg文件(可能是CallDev.reg).以及该文件的资源ID
代码中是否有之类的代码
DECLARE_REGISTRY_RESOURCEID(IDR_XXX)
#2
我写的COM 代码里面是有
DECLARE_REGISTRY_RESOURCEID(IDR_CALLDEV) 这句代码 但是没有CallDev.reg文件 不过有找到
CallDev.rgs这个文件 是要增加一个CallDev.reg文件吗? 里面是什么内容?
其实我主要是想在VC6调用我的COM比较方便,直接通过Insert ActiveX Control来生成相应的类然后调用我的COM组件 这样方便一点,但是搞不懂为何别人写的COM可以 我自己生成的不行
DECLARE_REGISTRY_RESOURCEID(IDR_CALLDEV) 这句代码 但是没有CallDev.reg文件 不过有找到
CallDev.rgs这个文件 是要增加一个CallDev.reg文件吗? 里面是什么内容?
其实我主要是想在VC6调用我的COM比较方便,直接通过Insert ActiveX Control来生成相应的类然后调用我的COM组件 这样方便一点,但是搞不懂为何别人写的COM可以 我自己生成的不行
#3
你查看一下IDR_CALLDEV对于的.reg文件是什么?
估计是这个组册文件不完善导致
估计是这个组册文件不完善导致
#4
如何查看? 我让我同事用VC6通过ATL COM APPWIZARD生成一个COM组件 注册后也是这种情况 这下杯具了
#5
你查看一下项目文件夹有有无.reg文件
#6
没有呀 没有.reg文件 tttyd能否留下个QQ 我加你
#7
你参考这个自己写一分.reg文件
HKCR
{
Chapter4.Math.1 = s 'Math Class'
{
CLSID = s '{5FB0C22F-3343-11D1-883A-444553540000}'
}
Chapter4.Math = s 'Math Class'
{
CurVer = s 'Chapter4.Math.1'
}
NoRemove CLSID
{
ForceRemove {5FB0C22F-3343-11D1-883A-444553540000} = s 'Math Class'
{
ProgID = s 'Chapter4.Math.1'
VersionIndependentProgID = s 'Chapter4.Math'
LocalServer32 = s '%MODULE%'
val AppID = s '{5FB0C222-3343-11D1-883A-444553540000}'
}
}
}
HKCR
{
Chapter4.Math.1 = s 'Math Class'
{
CLSID = s '{5FB0C22F-3343-11D1-883A-444553540000}'
}
Chapter4.Math = s 'Math Class'
{
CurVer = s 'Chapter4.Math.1'
}
NoRemove CLSID
{
ForceRemove {5FB0C22F-3343-11D1-883A-444553540000} = s 'Math Class'
{
ProgID = s 'Chapter4.Math.1'
VersionIndependentProgID = s 'Chapter4.Math'
LocalServer32 = s '%MODULE%'
val AppID = s '{5FB0C222-3343-11D1-883A-444553540000}'
}
}
}