Friday, December 12, 2008

VC错误“An unsupported operation was attempted”的解决

       一个MFC程序,有三个对话框,把三个对话框分别封在一个MFC规则DLL中,导出一个函数,在函数中使用 DoModal 显示对话框。

       主程序和DLL都是动态链接到MFC时测试通过,但是当把主程序和DLL改为静态链接到MFC时,运行出现"An unsupported operation was attempted"的提示后,程序退出,使用DEBUG版本跟踪发现在从资源中载入BMP时出错,继续跟踪发现AfxGetResourceHandle()返回为空,改回动态链接到MFC时则又正常。

       因为建项目的时候,选择的是MFC应用程序,然后在项目属性中把生成应用程序(.exe)改为生成动态库(.dll),而不是直接选择MFC DLL,怀疑是项目配置有不对的地方,一对照,发现MFC DLL项目中预定义了 _USRDLL ,把那三个DLL项目加上,编译、执行,一切正常。

      错误原因可能是没有预定义 _USRDLL ,DLL没有正常初始化,所以不能载入资源。

Tags: vc, mfc, dll, 静态库


Friday, December 12, 2008

笑话集锦

  某兄喜欢吃鱼。
  沃尔玛的鲈鱼9块一斤,
  要是死了放冰上的就7块两条,
  一样新鲜。某兄下班,
  就赶紧跑去买,还是经常被人买走了,
  某兄就站鱼缸前等啊,
  有时候好半天都不死一条。
  某兄就用网进去捞,用把手敲鱼的头。
  服务员实在看不下去了,
  过来跟该兄说:
  “先生,昏过去的不算……” 

Tags: 笑话