Ex20b示例程序:DLL测试客户程序

在临摹Ex20b示例程序的时候碰到以下问题:

 

1 在Ex20b工程中追加Ex20a.lib文件的时候,.NET 2005要求创建一个用户自定义的构建规则(Custom Build Rules)

 

我直接选择“No”,不创建Rules,其实自己不知道该选什么,暂时啥都不做比较稳妥。

 

2 Ex20b编译通过后,运行时刻报错。

.NET 2005自动设置的断点停留在以下代码处:(附上完整图片)

  pFrameClass->IsDerivedFrom(RUNTIME_CLASS(CFrameWnd)));

 

 

起初以为是步骤1中没有创建构建规则引起的,为了证明这个假设,我又把光盘中的示例代码搬出来,进行了对比。

但是事情并没有想象中那样顺利进行,使用光盘中的示例代码编译通过后,在运行时出错,提示说找不到mfc70d.dll文件。

网上下载了该文件以后,又提示说找不到其他dll文件。

 

很无奈,明显是.NET技术内幕中使用的IDE环境与我的.NET 2005的版本有较大的差别(网上说该DLL在.NET2002中有用到),但是版本上的差异也不至于让我无法用.NET2005完成Ex20b程序吧。

 

在对Ex20a程序进行重新编译成DLL的时候,一个念头突然在脑海中闪过。

Ex20a的Project属性中,我设定了不使用Unicode字符集,那会不会Ex20b的Project属性也要这样设定?

为了证明这个假设,我尝试修改了Ex20b的Project属性:(附上完整图片)

 

保存后编译并执行,整个程序顺利运行。

 

总结:

当发生RunTime Error的时候,除了对每个关联Project中的代码进行精查以外,还要考虑编译选项的设定是否一致。

在以后的临摹中,我会暂时把Project中的字符集设定开关统一设定成Not Set的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值