高分!!!!MFC扩展DLL调用mschart的问题(急)

raymonzhao 2007-03-20 10:55:44
在DLL中的一个视图中定义一个CMSChart的对象,用Create方法生成控件时有时会失败,程序就一直停在那里.有时又是好的.这里用到的MsChart6.0是封装到另一个DLL中来导出的.不知道这是什么原因.
一、是不是资源冲突,导致ocx的容器无效?
二、是不是封装到DLL中的MSCHART跟系统自带的MSCHART6。0产生了冲突?

希望高手帮忙给点提示。急啊。
...全文
311 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiahouyi 2007-03-23
  • 打赏
  • 举报
回复
小问题,应该是没有做签名。
去这看看
http://support.microsoft.com/kb/151771/zh-cn
raymonzhao 2007-03-20
  • 打赏
  • 举报
回复
创建控件是在视图的OnInitUpdate里创建的.
CreateCtrol()这个函数MSChart会自动去调用,最终调用工厂类去生成对象.

今天跟了一样,报错0x800401154,提示控件是否已注册.

如果是未注册的话,为什么有时候又可以创建成功呢?

该如何手动注册?
syy64 2007-03-20
  • 打赏
  • 举报
回复
CAxWindow::CreateControl
HRESULT CreateControl( LPCOLESTR lpszName, IStream* pStream = NULL, IUnknown** ppUnkContainer = NULL );

HRESULT CreateControl( DWORD dwResID, IStream* pStream = NULL, IUnknown** ppUnkContainer = NULL );

Return Value

A standard HRESULT value.

Parameters

lpszName

A pointer to a string to create the control. Must be formatted in one of the following ways:

A ProgID such as "MSCAL.Calendar.7"


1、试试上面的函数;
2、创建控件你是放在哪里创建的?
raymonzhao 2007-03-20
  • 打赏
  • 举报
回复
注册了也没用.mschart应该默认就是注册了的.
syy64 2007-03-20
  • 打赏
  • 举报
回复
在DOS下: regsvr32 *.ocx

3,245

社区成员

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

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