<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[PerfectToday的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/PerfectToday</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; PerfectToday]]></copyright><item><title><![CDATA[sizeof(wcSubPath) == sizeof(wchar_t)*MAX_PATH]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/127444925</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/127444925</guid><author>PerfectToday</author><pubDate>Fri, 21 Oct 2022 13:46:26 +0800</pubDate><description><![CDATA[wchar_t wcSubPath[MAX_PATH] = { 0 };
sizeof(wcSubPath) == sizeof(wchar_t)*MAX_PATH]]></description><category></category></item><item><title><![CDATA[OPC服务器与实时数据库缓存通信]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/78603650</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/78603650</guid><author>PerfectToday</author><pubDate>Wed, 22 Nov 2017 14:51:16 +0800</pubDate><description><![CDATA[设备驱动接收一批监测数据，可以循环放到DynamicCache缓存中，再输出到关系数据库、实时数据库和OPC Server等接口]]></description><category></category></item><item><title><![CDATA[VariantChangeType]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/78601773</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/78601773</guid><author>PerfectToday</author><pubDate>Wed, 22 Nov 2017 11:57:05 +0800</pubDate><description><![CDATA[Yes you must call VariantClear. The VariantChangeType method if successful will essentially coerce a copy of the source into the destination. This copy in the destination is now independently tracked ]]></description><category></category></item><item><title><![CDATA[如何在VC6中申请分配大容量内存]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/78600798</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/78600798</guid><author>PerfectToday</author><pubDate>Wed, 22 Nov 2017 11:08:31 +0800</pubDate><description><![CDATA[1、最简单、直接的方法是使用C++运算符new，例如：对于分辨率为x*y*8bit的图像，申请分配内存方法:
BYTE *pBuf=new BYTE[x*y];
用此方法一定要注意，只要pBuf不使用了，就要用delete将其释放掉。
2、较复杂的方法是使用API函数GlobalAlloc和LocalAlloc，此方法分配的内存是以“堆”形式提供的，可使用GlobalLock/LocalLo]]></description><category></category></item><item><title><![CDATA[VarFormat的不正确使用导致内存泄漏]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/78599413</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/78599413</guid><author>PerfectToday</author><pubDate>Wed, 22 Nov 2017 09:52:28 +0800</pubDate><description><![CDATA[VarFormat的不正确使用导致内存泄漏

一个很弱智的错误
代码如下：
       _variant_t var(dblValue);
       CString sOut;
       BSTR bstrOut = sOut.AllocSysString();
       ::VarFormat(&var, L"0.#########", 0, 0, VAR_FORMA]]></description><category></category></item><item><title><![CDATA[COM线程模型]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/78527831</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/78527831</guid><author>PerfectToday</author><pubDate>Tue, 14 Nov 2017 10:29:59 +0800</pubDate><description><![CDATA[《COM线程模型》中已经说明，接口指针是线程相关，虽然逻辑上指向同一个对象，但不同的线程由于代理对象的原因而实际获得不同的接口指针。但由于逻辑上是同一个对象，因此应该可以有一种接口的中立形式，与线程无关，唯一表示真正的接口指针。]]></description><category></category></item><item><title><![CDATA[磁盘驱动器卷标名称]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/48825737</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/48825737</guid><author>PerfectToday</author><pubDate>Wed, 30 Sep 2015 10:14:22 +0800</pubDate><description><![CDATA[//Get   Window   Directory   
TCHAR m_syspath[MAX_PATH];
GetWindowsDirectory(m_syspath,MAX_PATH);   TCHAR   temp[MAX_PATH];   
memset(temp,0,MAX_PATH);   
lstrcpy(temp,m_syspath);   
CString     sysDir]]></description><category></category></item><item><title><![CDATA[gethostbyaddr ip到名字，gethostbyname名字到ip依赖于hosts、DNS服务器]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/48285775</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/48285775</guid><author>PerfectToday</author><pubDate>Tue, 08 Sep 2015 07:37:04 +0800</pubDate><description><![CDATA[1）在dns中注册此连接的地址  被查询机机?
2）etc\hosts 查询机
3）首先访问hosts，其次访问DNS]]></description><category></category></item><item><title><![CDATA[LoadLibrary GetProcAddress FreeLibrary 近距应用]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/47044257</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/47044257</guid><author>PerfectToday</author><pubDate>Fri, 24 Jul 2015 17:19:44 +0800</pubDate><description><![CDATA[工作中发现两次相关的情况： 
第一次发生在2014年4月4日工作周到4月18日工作周，在网上下载了一个开源的ZIP.dll，按照我的习惯，静态链接到自己的应用程序中，就可以随心所欲的使用了。可问题发生了，程序在项目现场运行15天或更长时间后，该DLL的接口函数会出现莫名的异常，导致DLL接口函数无法正常继续工作。 
后来，解决办法是使用动态加载DLL的方法，用一次LoadLibrary、GetPro]]></description><category></category></item><item><title><![CDATA[应用]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/47044211</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/47044211</guid><author>PerfectToday</author><pubDate>Fri, 24 Jul 2015 17:17:21 +0800</pubDate><description><![CDATA[1]]></description><category></category></item><item><title><![CDATA[线程函数中的某段代码，总是抛出异常，不解？]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/46828799</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/46828799</guid><author>PerfectToday</author><pubDate>Fri, 10 Jul 2015 11:46:49 +0800</pubDate><description><![CDATA[CString strNewData,strOldData;
CString strNewData2,strOldData2;
try 
{ 
strNewData.Format(“%g”, pMain->m_CPRKManager.m_chPRKRecogBuffer2[pMain->m_CSysConfigInfo.m_ulDCCheck1]); 
                if( str]]></description><category></category></item><item><title><![CDATA[VC++ 句柄要及时关闭否则经常性调用句柄会持续增加]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/46816841</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/46816841</guid><author>PerfectToday</author><pubDate>Thu, 09 Jul 2015 14:47:02 +0800</pubDate><description><![CDATA[1、OpenProcess返回值一定要及时关闭CloseHandle。]]></description><category></category></item><item><title><![CDATA[try catch 原来一直没有起作用]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/46726877</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/46726877</guid><author>PerfectToday</author><pubDate>Thu, 02 Jul 2015 15:08:21 +0800</pubDate><description><![CDATA[/EHa 启用异步 C++ 异常处理 enable asynchronous C++ EH 
如果不在编译器中给定“/EHa”，release模式下try…catch将不会发生作用。工程 -> 设置 -> C/C++标签项最下面的 Project Options里，去掉“/GX”加上“/EHa”]]></description><category></category></item><item><title><![CDATA[VC6调出对话框消息序列]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/46697381</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/46697381</guid><author>PerfectToday</author><pubDate>Tue, 30 Jun 2015 16:28:39 +0800</pubDate><description><![CDATA[CTRL+D]]></description><category></category></item><item><title><![CDATA[欢迎使用优快云-markdown编辑器]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/46697345</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/46697345</guid><author>PerfectToday</author><pubDate>Tue, 30 Jun 2015 16:26:53 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗    Ctrl + B 
斜体    Ctrl + I 
引用    Ctrl]]></description><category></category></item><item><title><![CDATA[单元模型对象必须保护共享数据]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/46469869</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/46469869</guid><author>PerfectToday</author><pubDate>Fri, 12 Jun 2015 11:47:03 +0800</pubDate><description><![CDATA[困扰 COM 开发人员的通病是标记为 readingModel=Apartment 的进程内对象。这项指定告诉 COM，对象的实例必须只能在 STA 中创建。它还可让 COM 自由地将这些对象实例放在任何主机进程的 STA 中。
        假设客户端应用程序有五个 STA 线程，每个线程都使用 CoCreateInstance 来创建同一个对象的一个实例。如果线程是基于 STA 的，且对象]]></description><category></category></item><item><title><![CDATA[MFC控件的Z序]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/46345207</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/46345207</guid><author>PerfectToday</author><pubDate>Wed, 03 Jun 2015 14:34:27 +0800</pubDate><description><![CDATA[1. 创建4个按钮


CRect rcCreate(0,0,80,80);


m_btTest1.Create(TEXT("Test1"),WS_CHILD|WS_VISIBLE,rcCreate,this,114);
m_btTest2.Create(TEXT("Test2"),WS_CHILD|WS_VISIBLE,rcCreate,this,112);
m_btTest3]]></description><category></category></item><item><title><![CDATA[身边的公司]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/44219923</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/44219923</guid><author>PerfectToday</author><pubDate>Thu, 12 Mar 2015 11:57:34 +0800</pubDate><description><![CDATA[北京永信至诚科技有限公司 
北京嘉岳同乐极电子有限公司
北京华兴致远科技发展有限公司 
北京精彩乐现科技有限公司 
北京尚水信息技术股份有限公司 
北京浩宇天宫高科技有限公司
北京宝兰德软件技术服务有限公司 
营口瑞华高新科技有限公司
北京中科国信科技股份有限公司 
北京卡莱特科技有限公司
北京诚益通控制工程科技股份有限公司 永丰
北京优创新港科技有限公司 
同方威视技术股]]></description><category></category></item><item><title><![CDATA[GetMenuState 返回3（或者1时），往往是这个菜单不可用导致的]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/43985447</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/43985447</guid><author>PerfectToday</author><pubDate>Sat, 28 Feb 2015 14:42:35 +0800</pubDate><description><![CDATA[if( AfxGetMainWnd()->GetMenu()->GetMenuState(ID_OP_STARTPR, MF_BYCOMMAND)

== MF_UNCHECKED )
当在菜单项的Update消息处理中，人为指定了不可用。即 “ ID_OP_STARTPR ” 菜单项不可用时，而我们在执行相应的工具栏（对应ID_OP_STARTPR菜单项）按钮，使用到上述的语句是永远得不到]]></description><category></category></item><item><title><![CDATA[VC++6.0如何将一个工程中的对话框资源复制到另一个工程]]></title><link>https://blog.youkuaiyun.com/PerfectToday/article/details/11056681</link><guid>https://blog.youkuaiyun.com/PerfectToday/article/details/11056681</guid><author>PerfectToday</author><pubDate>Wed, 04 Sep 2013 14:41:36 +0800</pubDate><description><![CDATA[VC++6.0如何将一个工程中的对话框资源复制到另一个工程
 
第一步：打开源工程，切换到资源视图（ResourceView），选中要复制的对话框或菜单资源ID，如：本例中选中对话框资源“IDD_FIND_DLG”，按Ctrl+C或点击Edit菜单选择Copy项。



第二步：点击文件（File）菜单，选择关闭工作区（Close Workspace），从而关闭源工程。
 
第三步]]></description><category></category></item></channel></rss>