现在的位置: 首页 > 综合 > 正文

C++ Builder下如何开发ArcEngine

2013年08月09日 ⁄ 综合 ⁄ 共 852字 ⁄ 字号 评论关闭

最先问题的产生是C++ Builder导入AE的类库后需要通过ActiveX wrappers生成对应的接口文件,类似于VC中的IDL文件wrappers后将在imports中生成对应的若干.cpp和.h文件。此时编译会出错,原先遇到后一直没有解决,变通的方法是安装AE的vb6开发包,这样就直接基于dll开发,而不是直接基于com组件开发,当然上边的wrappers也略掉了,这个思路是借鉴delphi开发AE,特点是开发方式简单,甚至可以免去variant参数的痛苦,且快速,缺点是没有利用com的优势。 仔细的看了编译错误,分析了wrappers后生成的文件,问题产生的原因是.pp和.h中的参数虽然自动生成但是不对应的(C++ Builder这里报的错误是不匹配的),手动修改即可编译通过,其他开发方式和VC基本一致。    总结一下C++ Builder下的AE开发就是:
    1、安装VS2005,C++ Builder 2006
    2、安装AE的VC2005对应的开发包(不装VS2005此处无法进行)
    3、C++ Builder中component-->import ActiveX component导入ESRI Controls 1.0然后create units
    4、编译找出每条错误对应的位置,把.cpp文件和.h中相应位置的方法或属性手动修改,使声明一致即可
    5、插入控件调试编译即可。

        Delphi开发AE原先有开发商已经成功地做出过产品,所以AE的Delphi健壮性是可以保证的,C++ Builder个人只是根据需要做了一个Demons, 如果做大型项目不敢确定没有一点问题,个人认为底层出现的问题可以在wrappers时调试改掉。C++ Builder下的优势较VC来说,编译后运行速度都差不多,C++ builder 6 较VC6更符合标准C++规范,而且C++ Builder明显在开发上简单,没有VC如此多的宏。C++ Builder的UI非常好,UI控件非常多,UI架构非常合理较MFC容易。 

抱歉!评论已关闭.