faq

来源:互联网 发布:java服务器性能测试 编辑:程序博客网 时间:2024/04/29 02:02
 
1.assertion failed "wincore.cpp line 1051" 按取abort退出程序,retry&&ignore程序可以正常运行.
    a.是你的Dlg对象已经通过destroy删除了,又使用了delete
    b.assert(var)
      #ifdef debug
      if var==0
          assert failed
      else
           pass
      end
      #endif
     查查为什么var==0
    c.我单步走了一下,只有UpdateData(false)执行完后会出现这种情况。如果去掉就不会。这个怎么回事呢?
    不是UpdateData(false)的问题,应该是对话框(窗体)关闭的时候出现问题是你的Dlg对象已经通过destroy删除了,又使用了delete
   d.涉及到空指针的可能性最大, pHead_>nBlockUse就可能是空指针,或它指向的东西已经不存在了。
 
 

2.Standard SDK和Pocket PC SDK的区别
这只是我自己的判断,希望指正:
     Standard SDK是适用于WinCE的本地开发的,它是MS发布的WinCE上所有标准基本组件开发所需的资源的集合,如:库,头文件等,用户在定制自己的WinCE内核的时候,可以删减这些基本基本组件,然后生成自己定制的WinCE的SDK,这时你的SDK只是Standard SDK的一个子集。另外,和其它的SDK不同,Standard SDK只有“Standard Emulator”环境,而没有像“Standard Device”的平台环境,但是如果你的SDK是Standard SDK的一个纯子集(没有自己增加别的组件),那么在你利用EVC4开发环境中,选择“STANDARDSDK_420”作为SDK,选择“STANDARDSDK_420 Emulator”为Target,那么生成的程序也可以拷贝到你的板子上运行。
     Pocket PC 2003 SDK是MS自己对Standard SDK的基础上做了裁减或增加的自己的组件,这样就和Standard SDK就有很大不同了,而且PocketPC 2003平台虽然是以WinCE为内核,但和标准的WinCE已经不同。比如说你自己的开发板的SDK叫ZZZZSDK,那么你也就有了一个和MS的Pocket PC 2003 SDK“同等”级别的SDK了。因为是MS的平台,所以很多厂商的商用PDA都选用Pocket PC作为自己平台,这样自己只需要增加一点功能即可。
 
 
4.DrawItem()在EVC下为何无法使用?
   By default, this method does nothing. Override this method to implement drawing for an owner-draw CListBox object. The application should restore all graphics device interface (GDI) objects selected for the display context supplied in lpDrawItemStruct before this method terminates.
   应该重载,而不应该直接响应WM_DRAWITEM消息,这个消息是发给父窗口的; 
 
5.CListBox的背景改变可以通过在父窗口中响应OnCTLCOLOR()中设定;
 
6.应用程序中的每个按钮,都是由系统提供的Button窗口类创建的,它有完全属于它自己的窗口进程。如果想改变该窗口的外观,则不能通过改变它的WM_PAINT处理函数来实现,因为它是不可得的。
原创粉丝点击