VC++/ATL COM/MFC
文章平均质量分 68
mei_zi_365
主要技术方向:1. 基于OSGi组件化的SOA/ESB/云服务架构设计研究, SAML/OAuth2 2. Java, Eclipse插件/RCP开发,OSGI Equinox在Web组建化开发应用, J2EE SSH框架应用
3. VC 及微软Com开发,有MFC界面及基于COM接口的AutoCAD二次开发经验。
4. Linux系统内核开发(Soket通信,X11界面)及嵌入式linux驱动、QT界面开发。
4. GIS应用开发,MO/Arcgis
展开
-
C++中使用Socket通信包定义和读取方法
<br />由于TCP/IP协议中,不能携带我们数据的长度,也就是说如果我们发的数据为变长度,接收端收到若干字符后就不知道是不是发送完成了,还是要继续等待,一般来说,VC中的解决方案为发送端和接收端 定义一组共享的 通信协议包,发送按照通用接口将这些结构体包数据发送出去,接收者判断每个包类型,组装成不同的结构体,完成一次网络传输。关键问题有:<br />1. 每个结构体包都需要在开头定义自己的标识符,可以用1 byte整数约定,附加的,可以定义包数据总长度(包括指针指向数据的长度)<br />2. 对于丁长原创 2010-12-06 10:53:00 · 2684 阅读 · 2 评论 -
CString::GetLength()获得字节数的正确方法
<br /> 前段时间,做http协议上传文件及断点续传控件时,在客户端采用C++调用CHttpConnection、CHttpFile进行文件上传。移植到Unicode编码时,上传得到的文件总是小于正常文件。最终发现问题出在CString::GetLength()方法上。当采用Unicode编码时,而且http header字符串中出现了中文或其其他多字节字符,该方法仍旧只返回字符数,而不是实际的字节数,这样在http header中的信息会比实际的少,导致http发送的数据小于预期的。<br原创 2010-12-29 12:17:00 · 5192 阅读 · 4 评论 -
Atl COM Dll工程中调用dll中资源的问题
<br />在做IE BHO插件dll的时候,需要打开一个模式对话框。当我添加了dialog资源,然后MyDialog dlg; dlg.DoModal();时,afxwin1.inl第23、26行出现断言失败:<br />_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle()<br /> { ASSERT(afxCurrentInstanceHandle != NULL);<br /> return afxCurrentIn原创 2010-12-30 15:22:00 · 2297 阅读 · 1 评论 -
VC下遍历文件夹查找文件
今天看到以前的一些代码,觉得比较常用,放在下面供初学者使用吧。下面的代码都采用VS2002编译测试通过。参数dir是查找的根目录,filename为要查找的文件名(区分大小写), 第三个参数为找到后返回找到的文件路径,传入TCHAR resultPath[MAX_PATH];类型。 /*** 1. 采用Win32 API: FindFirstFile() 和 WIN32_FIND_DATA */HRESULT AcadDocProcessor::FindFile(LPCTSTR dir, LPC原创 2011-01-04 17:42:00 · 3232 阅读 · 2 评论 -
Debug中heapchk.c文件HeapValidate问题
使用MFC的CFileFind类,写了个递归方法,遍历文件夹查找文件。这个方法前面用起来完全正常,没有做过修改,后来出现莫名其名的Debug Heap异常,跟踪到了heapchk.c中的代码,应该是Debug模式下堆内存出错了。在方法前面CFileFind filefind;处,就回出现Debug异常对话框。原创 2011-01-04 14:18:00 · 2006 阅读 · 0 评论 -
Atl ActiveX网页控件的数字签名和安全验证
项目需求中,有需求:从Javascript中生成ActivexObject对象,然后调用其方法和响应其事件。例如: 但是new ActiveXObject("myActivexCtrl.progId"); 总是失败。分析原因为:IE7对未加数字签名的 ActiveX dll文件采用的安全策略,不允许生成对象和调用。经过对IE7的安全策略的修改,调为最安全级别最低,则正常。或者在中级安全时,设置可以下载和运行为签名的ActiveX控件也可以。 我的开发环境为:开发主机Windows XP,原创 2011-02-17 12:51:00 · 3632 阅读 · 2 评论