大家来 完善一下 ATL 写 COM 的不成文规范!!!

天限天空 2003-08-19 04:44:08
1.初始化
CUGXxx:: CUUXxx (): m_pIHttpdown (NULL),...
HRESULT CUGXxx::FinalConstruct(){ }

2.销毁
void CUUXxx::FinalRelease()
{
if(m_pIHttpdown)
{
m_pIHttpdown ->Release();
}

}

3.字符串 处理
接口参数使用BSTR ,类或函数变量使用 CComBSTR

4. 进入函数的第一步就应该检测指针是否为空。
STDMETHODIMP CUUXxx::Attach(REFIID riid, void **ppv)
{
ATLASSERT(!IsBadReadPtr(ppv, 4));
ATLASSERT(!IsBadReadPtr(*ppv, 4));
if (IsBadReadPtr(ppv, 4) || IsBadReadPtr(*ppv, 4))
{
return E_POINTER;
}
。。。
}
...全文
160 108 打赏 收藏 转发到动态 举报
写回复
用AI写文章
108 条回复
切换为时间正序
请发表友善的回复…
发表回复
heavenchang 2004-03-13
  • 打赏
  • 举报
回复
学习
gaosl11 2004-02-27
  • 打赏
  • 举报
回复
学习
内存泄漏 2004-02-27
  • 打赏
  • 举报
回复
强~
天限天空 2004-02-15
  • 打赏
  • 举报
回复
将 dll的 调式程序设成 regsvr32

调试 dll的注册过程
stonewater 2004-01-31
  • 打赏
  • 举报
回复
高手
beyondtkl 2004-01-30
  • 打赏
  • 举报
回复
好呀,
正准备学习com
xghost 2004-01-29
  • 打赏
  • 举报
回复
up
wkoji 2004-01-29
  • 打赏
  • 举报
回复
mark
内存泄漏 2004-01-29
  • 打赏
  • 举报
回复
晕。。。。。

高手如云。。 :0
showjancn 2004-01-29
  • 打赏
  • 举报
回复
谢谢!!
学习中...
lizhenlz 2004-01-14
  • 打赏
  • 举报
回复
学习
zylstudy 2004-01-14
  • 打赏
  • 举报
回复
记号..
zzj0820 2004-01-13
  • 打赏
  • 举报
回复
关注:mfc与atl开发
GoogleGeek 2004-01-03
  • 打赏
  • 举报
回复
gz
elvahuang 2003-12-29
  • 打赏
  • 举报
回复


正在学习中 ......
yesblue 2003-12-28
  • 打赏
  • 举报
回复
u
GreenSpring 2003-12-27
  • 打赏
  • 举报
回复
mark
wangweixing2000 2003-12-24
  • 打赏
  • 举报
回复
我的控件里有个WM_GETDLGCODE消息!
LRESULT OnGetDlgCode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
return DLGC_WANTARROWS;//截获键盘的上下左右键!
}
我在VC,VB.NET,BCB,下测试都能截获,可以到VB6下就不行了!那位大哥做过!给小弟讲一讲,VB6下到底是怎么处理的呢?快点帮忙呀!
wangweixing2000 2003-12-22
  • 打赏
  • 举报
回复
newkey007(无限天空),我的目的是让用户在调用我的COM控件的时候能开到传递参数的内部类型!来提高控件的易用性!主要是用这些方法传递隐蔽性太大了!别人根本没法用我的控件!头疼!!!
天限天空 2003-12-21
  • 打赏
  • 举报
回复
用结构的指针试一试 BYTE * 或者 void *

传进去后, com内部 强制转换一次

加载更多回复(88)

3,245

社区成员

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

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