ATL写的Com组件创建实例时报告错误“未注册类别”

coolstar 2004-07-26 09:32:00
ATL写的Com组件创建实例时报告错误“未注册类别”
atl写的com组件在asp中调用提示无法创建对象
组件已经用regsvr32 注册过,注册成功。

调试代码发现
在组件的一个接口构造函数中
HRESULT FinalConstruct()
{
HRESULT hr;
::CoInitialize(NULL);


hr = CoCreateInstance(
CLSID_Point,
NULL,
CLSCTX_INPROC,
__uuidof(IPoint),
(void **)&m_Point);

if(FAILED(hr))
{
_com_error err(hr);
MessageBox(NULL,(TCHAR*)err.ErrorMessage(),_T("创建点对象"),MB_OK);
return FALSE;
}
return S_OK;

}


CLSID_Point并没有被创建,提示错误是“未注册类别”


why?
...全文
382 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolstar 2004-07-28
  • 打赏
  • 举报
回复
像这样创建试试:(去掉COM的初始化)
CComObject< CMPoint >* pPt = NULL;
CComObject< CMPoint >::CreateInstance( &pPt);
pPt->AddRef();

创建是可以了,但是调用的时候
asp或者vb结果会报告
remote procedure call failed

谢谢wangweixing2000(星(准备跳槽中!!)) ,因为代码是公司商用代码,不方便。
wangweixing2000 2004-07-28
  • 打赏
  • 举报
回复
不行就发你的代码过来!我给你看看!
ColderRain 2004-07-27
  • 打赏
  • 举报
回复
"atl写的com组件在asp中调用提示无法创建对象"
把你创建的代码帖出来看看。怀疑你创建的时候对象名传递错误。
coolstar 2004-07-27
  • 打赏
  • 举报
回复
clsid是正确的

如果改成__uuidof(CPoint),编译器报告没有guid和CPoint关联

(注:此CPoint并非mfc中CPoint,我为了更好阅读把原有长名字缩短了)
wangweixing2000 2004-07-27
  • 打赏
  • 举报
回复
::CoInitialize(NULL); //这个不必用
hr = CoCreateInstance(
CLSID_Point, //这个clsid是否正确?
NULL,
CLSCTX_INPROC,
__uuidof(IPoint),
(void **)&m_Point);
如果实现类是CPoint那么
hr = CoCreateInstance(
__uuidof(CPoint),
NULL,
CLSCTX_INPROC,
__uuidof(IPoint),
(void **)&m_Point);
luohualiushui 2004-07-27
  • 打赏
  • 举报
回复
不错,断点调试一下

而且::CoInitialize(NULL); 这句多余了
coolstar 2004-07-27
  • 打赏
  • 举报
回复
先谢谢各位大侠相助...回去试试看
天限天空 2004-07-27
  • 打赏
  • 举报
回复
__uuidof(Point),
ColderRain 2004-07-27
  • 打赏
  • 举报
回复
不好意思,看错了。

像这样创建试试:(去掉COM的初始化)
CComObject< CMPoint >* pPt = NULL;
CComObject< CMPoint >::CreateInstance( &pPt);
pPt->AddRef();
coolstar 2004-07-27
  • 打赏
  • 举报
回复
创建的代码?atl的还是asp的?

在asp中createobject的ProgID是对的
coolstar 2004-07-26
  • 打赏
  • 举报
回复
注册成功了


BEGIN_OBJECT_MAP(ObjectMap)
OBJECT_ENTRY(CLSID_Point, CMPoint)
END_OBJECT_MAP()

天限天空 2004-07-26
  • 打赏
  • 举报
回复
在注册表中找 CLSID_Point 的对应项
确定是否注册成功

查看 BEGIN_OBJECT_MAP 是否 有 CLSID_Point

一步一步更组件工厂的创建过程



内容概要:本文复现了硕士论文《可再生能源发电与电动汽车的协同调度策略研究》,聚焦于高渗透率背景下可再生能源(如光伏发电)与电动汽车(EV)在配电网中的协同运行问题。研究构建了涵盖电动汽车充放电行为、分布式光伏出力特性及静止无功补偿器(SVC)等关键元件的多资源协同配电网基础模型,并提出了包含设备安全、负荷平稳性、电能质量与系统效率的多维评价指标体系。进一步地,设计了基于熵权法与模糊综合评价相结合的双层评分模型,实现对不同渗透率下配电网承载能力的客观量化评估。通过算例仿真分析了电动汽车不同接入比例对系统各指标的影响规律,并开展了指标灵敏度分析,验证了所提模型在评估大规模电动汽车接入影响方面的有效性与实用性。; 适合人群:具备电力系统、电气工程或相关专业背景,熟悉Matlab编程与优化建模的研究生、科研人员及从事新能源并网、智能配电网规划的工程技术人员。; 使用场景及目标:①用于评估大规模电动汽车接入对配电网承载能力的影响;②为含高比例分布式可再生能源的配电系统规划与运行提供决策支持;③支撑学术研究中关于源-网-荷协同优化、电动汽车V2G调度等课题的模型构建与仿真验证。; 阅读建议:建议结合文中提供的Matlab代码进行实践操作,重点关注熵权法权重计算与模糊综合评价的实现逻辑,并尝试复现仿真结果以加深理解。同可拓展至其他优化算法或引入更多不确定性因素以提升模型实用性。
可参考下方数据集可视化效果。 YOLO牧场围栏区牛目标检测数据集 目标类别:['1', 'cow'] 中文类别:['其他', '牛'] 训练集:5032 张 验证集:458 张 测试集:382 张 总计:5872 张 该数据集提供了data.yaml文件,内容如下: train: ../train/images val: ../valid/images test: ../test/images nc: 2 names: ['1', 'cow'] 该数据集精准聚焦于牧场围栏区域的牛只监测场景,通过多角度、多光照条件下的真实影像采集,为畜牧业智能化管理提供了高价值的基础数据支撑。其内容高度贴合实际养殖环境,能够有效服务于牲畜行为分析、数量统计与健康状态评估等核心需求。 数据集在训练集、验证集与测试集的划分上展现出严谨的科学性,5032张训练图像确保模型具备充分的学习样本,458张验证图像用于优化超参数,382张测试图像则客观评估模型泛化能力,三者比例合理,结构稳定,为后续模型部署奠定坚实基础。 标注工作严格遵循行业规范,所有牛只均被完整框选,边界贴合度高,无遗漏或误标现象,且标注标签与图像内容高度一致,体现出极高的专业水准与质量控制标准,保障了数据驱动决策的可靠性。 该数据集可广泛应用于智慧畜牧、农场自动化监控、牲畜健康管理等领域,尤其适用于围栏式牧场、规模化养殖场等实际作业场景,助力提升养殖效率与动物福利水平,推动农业数字化转型进程。

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧