摘要:
感谢大家对EasyAnalysisCE图像分析库的反馈和支持,针对大家对软件的意见,新版本的EasyAnalysisCE做了一些修改,同时提供了一个完整的图像浏览器软件EasyImage(易览无余)作为该图像分析库的Demo程序。两个软件的下载地址:http://code.google.com/p/easyanalysisce/downloads/listEasyAnalysis v1.1较v1.0版本作了如下修改:1. CImage,CBmp增加了自身Clone的功能,用于深层复制自身产生一个新的副本。Clone功能提供了两个方法:CImage *Clone() 以及CImage *Clon 阅读全文
摘要:
在编写一个PocketPC应用程序的时候遇到一个奇怪的错误,当运行到某一函数中两个CString对象相赋值的时候,编译器就会抛出地址保护性异常,仔细地检查了一下这个函数,其中并没有直接使用指针对内存进行操作,也没有两个自定义对象之间采用等号的方式进行赋值的运算,对这个函数进行了一下完整的单步执行追踪,并没有发现该函数中有任何内存上的漏洞,因此可以断定内存漏洞并不是发生在该函数中的。于是花了2个小时的时间对程序进行了走查,在关键的地方添加断点单步运行,查看内存中的变化,发现某一个对象的析构函数被多次调用,而对象所对应的类的析构函数中有使用delete释放指针的情况,于是恍然大悟,原来自认为对什么 阅读全文
摘要:
在使用VC++ 2008开发Windows Mobile程序的时候常常会需要更改菜单项的状态,比如更改Checked属性。通常的做法是在程序中加入如下代码: CMenu *pMenu=this-GetMenu(); If(pMenu!=NULL){ pMenu-CheckMenuItem(菜单项ID,MF_CHECKED 或 MF_UNCHECKED);}但是在使用VC2008开发PDA应用程序的过程中,在对话框类中加入上面方法却不能改变菜单项的状态,原因是当菜单被点击的过程时候会发出WM_INITMENUPOPUP消息,如果程序没有代码响应该消息则MFC默认程序再响应该消息的时候会将菜单 阅读全文
摘要:
需要响应WM_ERASEBKGND消息,并加入如下代码: //当窗口背景更新时重新设置背景 CRect m_Rect; GetClientRect(&m_Rect); CBrush m_Brush; m_Brush.CreateSolidBrush(RGB(0,0,0)); pDC-FillRect(&m_Rect,&m_Brush); //return CFormView::OnEraseBkgnd(pDC); return TRUE; //注意这里一定要返回TRUE QQ:819543772EMail:wuchunlei@163.com 阅读全文
摘要:
设两数为a,b,二者最大值为max,则最大值为max=(( a + b ) + abs( a - b ) ) / 2QQ:819543772EMail:wuchunlei@163.com 阅读全文
摘要:
利用C#重新启动PPC设备的源代码publicpartialclassForm1:Form{[DllImport("coredll.dll")]privateexternstaticintKernelIoControl(intdwIoControlCode,IntPtrlpInBuf,intnInBufSize,IntPtrlpOutBuf,intnOutBufSize,intlpBytesReturned);privateintCTL_CODE(intnDeviceType,intnFunc,intnMethod,intnAccess){return(nDeviceType16)|(nA 阅读全文
摘要:
众所周知,委托的执行过程类似于线程的执行(实际上本质就是线程),当委托被Invoke以后,程序会开启一个异步线程执行委托,当委托执行完毕时线程自动终止。那么当委托被调用以后,如何判断委托是否已经执行完毕呢?本文给出两种方式判断委托是否执行完毕。1. 根据返回值判断。当程序调用BeginInvoke启动委托的时候,BeginInvoke方法会返回一个IAsyncResult对象,该对象中有一个IsCompleted属性,当委托正在执行时IsCompleted属性为false,否则该属性为true,程序演示如下:UpdateTestupdate=newUpdateTest(updateTest); 阅读全文
摘要:
无论第几次看这篇文章都能让人心情激动,做一个耐心的等待者,相信积淀会给我们带来强大的力量。原文:等待 这是个浮躁的人们最不喜欢的话题,本来不想说这个话题,因为会引起太多的争论,而我又无意和人争论这些,但是考虑到对于职业生涯的长久规划,这是一个躲避不了的话题,还是决定写一写,不爱看的请离开吧。并不是每次穿红灯都会被汽车撞,并不是每个罪犯都会被抓到,并不是每个错误都会被惩罚,并不是每个贪官都会被枪毙,并不是你的每一份努力都会得到回报,并不是你的每一次坚持都会有人看到,并不是你每一点付出都能得到公正的回报,并不是你的每一个善意都能被理解……这个,就是世道。好吧,世道不够好,可是,你有推翻世道的勇气么 阅读全文
摘要:
考察如下应用:公司开发某种中间件产品,该产品的主要功能是从上位系统采集数据,并将采集到的数据做某种处理,然后下发到下级系统中。要求该产品要支持不同类型,不同数量,不同数据格式的上位系统,下发时统一发送符合某种规则或格式的数据流。此外,在增加或删除对某一上位模块支持的时候,无需从新编译该中间件产品。本文讨论不同类型,不同数量,不同数据格式的上位系统,在不需重新编译的情况下,动态添加与删除的技术。一.模块动态加载技术概述该技术由配置文件和一组设计模式组成,以配置文件为核心,根据配置文件提供的模块信息,通过反射技术实现了增加和删除新模块而无需重新编译系统的功能。二.动态加载模块部分的配置文件格式及注 阅读全文
摘要:
我们都知道21世纪最有价值的是人才,是什么人才呢,就是我今天要演讲的题目。我想我这个演讲有一个很大的假设就是21世纪需要的人才与20世纪、19世纪有着很大的差别,因为21世纪有几个很重大的革命发生。在21世纪我们更多的工作是靠我们脑力的创造,是靠平等的竞争,已经没有国界的差别,世界被铲为平地,任何一个国家的人都可以和另外一个国家的人合作或者竞争,而他们都可以接触到、使用到、共享到同样的信息。不像过去,谁能独占信息他就能对另一个人或者对那个公司发挥相当大的价值。 今天的信息是因为共享才能发挥它真正的潜力。所以在这样的情况下,每个人都可以自由地选择,平等地竞争,他们会积极地去获取自己的信息,追求 阅读全文