摘要:
关于"建立空文档失败"的问题的分析!
许多新手在遇到此类问题时总是措手无策,如果谁有耐心就看看我写的下面这片文章吧。
这类问题的出现主要在bool cwinapp::processshellcommand(ccommandlineinfo& rcmdinfo);
函数的关键内容:bool bresult = true;switch (rcmdinfo.m_nshellcommand......
摘要:
odbc 与 access
这是一篇关于本人使用odbc 具体步骤(visual c++6.0 +access 2000)动态创建数据源,数据库(默认test.mdb),表及其查询,插入,修改,删除。
一般说来odbc数据库的使用分为以下几步是:
创建数据库对象-> 连接数据库-> 创建记录集-> 打开记录集-> 操作记录集- > 关闭和销毁记录集-> ......
Win32下对多个的线程句柄的关闭的控制(上)
前段时间做的一个项目, 其中涉及对管理多线程句柄的要求.现在整理一下思路,将它写出来,希望对部分的朋友有所帮助.
线程句柄是一种内核对象,一定完全关闭之,否者程序运行了一段时间后会占用全部的cpu.在平时我们会看到下面的程序: 【程序编程相关:
Windows自带的小巧的调试利器】
我的程序要实现的功能是:多个同时运行的子线程中,当有一个子线程运行结束时,主线程要及时地或者在某个有效范围内关闭子线程句柄;而且在程序运行过程中,还要不断地开辟子线程.换一句话说,我的主线程要动态地管理子线程(句柄). 【推荐阅读:
有关引用以及LoadBitmap几个容易】
{ 【扩展信息:
用VC++进行MapX二次开发::之二-】
for (int i = 0; i < max_num_thread; i++)
hthread = createthread(null, 0, functhread, null, 0, null);
// 主线程处理其它事务
// ......
closehandle(hthread);
}
运气好的话,上面的程序可能可以运行.有可能出现一种情况是子线程还没结束时,主线程这里已经closehandle了.为了效率,我们可不能在主统线程里加入像sleep(…)这样的语句.但多线程的运行情况是不可预测的,我们只有写出安全的代码,才能控制多线程程序的运行.我们先来解决这个问题,然后深入一步解决我在实际项目中遇到的问题.这里我们要用到waitformultipleobjects这个win32 api.这个api在这里的功能是当一个子线程运行结束时得到通知,然后进行关闭句柄的操作.于是我们将上面的代码改写成下面这个样子:
handle arrayhandle[max_num_thread];
for (int i = 0; i < max_num_thread; i++)
{...
下一页 摘要:
com之套间
参考资料:《essential com》、《msdn》
什么是套间
套间(apartment),形象点,他就是一个用来装com对象的容器,一个套间内可以有多个com对象,但是对于每个com对象在某一时刻只能够属于某一个套间。
套间用途和存在意义
假设你使用过com。我们在一个线程a里创建了一个com对象,那么在线程a里我们就可以访问该com对象的方法、属性......