说两个VS2008开发应用中常遇到的小问题:
1、ATL开发ActiveX控件:
(1)、以前写ActiveX控件,我一般都是用VC++6.0。处理起来也比较简单,建立ActiveX框架,设定公开与私有的函数(OO中称为方法)与变量,再填写上相应功能逻辑即OK。
(2)、因项目需要用到ALT中正则表达式,本子上没有VC++6.0(当时出发在外没办法),只好放到VS2008平台下,用VC++2008去编译却会提示找不到头文件(或引用类库丢失)?
仔细研究发现VS2008中没有安装ATL部分代码!!!
参考:http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=306398
ATL安装包下载地址:http://www.codeplex.com/AtlServer (http://www.codeplex.com/AtlServer)
把下载的安装包解压缩到一个目录,比如d:/alt/
在VS里面[工具]--[选项]--[项目和解决方案]--[VC++目录],在右上角选择[包含引用的文件]中加入c:/alt/include就OK了!
2、ATL开发的IE打印控件:
直接用VC++2008写成,在开发机器上运行一切正常。
在客户机器上通过IE浏览器调用打印页面,页面自动安“根装证书”;
然后在IE工具条下方提示被拦截,打开拦截提示安装正常;
但打印页面调用却不能正常加载ActiveX控件?
维护人员试了七、八台客户机(XP、Win2003)都是一样的情况!
电话通知我升级的打印控件有问题,看怎么解决?
我坐下来分析了一下,为什么以前的控件都正常呢?
以前都是VC++6.0写的,这次我改成VC++2008了!!!
看来VC++2008开发的东东在哪台机器上一定是少了什么?
研究发现少了VC++2008可再发布的运行库(可以微软网站上免费下载)。