关于ATL DLL中DTPicker的问题

dyw 2000-08-20 09:05:00
本人在ATL 控件中使用VC资源编辑器工具栏中的DTPicker控件,编译时可顺利通过,但使用时总是断言失败(DEBUG版),请问高人帮助。(本人不想使用其ActiveX版本)
...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyw 2000-09-25
  • 打赏
  • 举报
回复
最后的办法——使用其控件版本,附带库文件mscomct2.dll
dyw 2000-08-28
  • 打赏
  • 举报
回复
代码出错位置:
else
{
HWND h = CreateControlWindow(hwndParent, rcPos);
ATLASSERT(h != NULL); // will assert if creation failed [错误位于该行!]
ATLASSERT(h == m_hWndCD);
h; // avoid unused warning
}
以上代码位于
inline HRESULT CComControlBase::InPlaceActivate(LONG iVerb, const RECT* /*prcPosRect*/)

CreateControlWindow为何创建失败呢???

诸位可以新建一 ATL DLL 复合控件工程测试一下:
1. 将一 DTPicker 拖于窗体上,然后进行编译;
2. 创建一客户进行测试,即会出现断言失败;
3. 选择[重试]按钮,点击取消,即出现断言失败位置(见上述代码)
zzh 2000-08-27
  • 打赏
  • 举报
回复
该控件的日期值你如果没有赋初值的话,运行会出错,你可以检查一下错误出在哪里。如果不赋值,它认为值为0,当然就会出ASSERT了。
zcheny 2000-08-26
  • 打赏
  • 举报
回复
在VC的项目设置选项中,用All configurations,然后再试试。
dyw 2000-08-26
  • 打赏
  • 举报
回复
在MFC工程中使用未出现任何问题!

3,245

社区成员

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

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