MS Office  不停升级,但不向后兼容,我的程序OLE MS,是否需要为每个版本的EXCEL重新编译呢?
不同版本的MS Word、Excel,DELPHI需用不同的OLE对象以及方法(确切的说是不同的参数),我需要为每个不同版本的MS office(,office 2000、office XP,office 2003,office 2004等)重新编译我的程序(应用相应的*.PAS:word2000.pas、wordxp等)吗?

解决方案 »

  1.   

    不用吧,office系列应该向下兼容.
      

  2.   

    好象没什么问题吧...没试过office97,但office2000、office2003暂没发现有什么不兼容的...
      

  3.   

    我的程序在MS office中(word、Excel)输出报表,在office 2000中可以用,在office XP中就会出错了(参数不同);在XP中可以用,在2003、2004中又有问题了。
    delphi 为各种不同版本的office备有*.pas单元文件。我必须要为每个版本的office重新编译程序吗?
      

  4.   

    把调用Office的功能封装在函数里,这个函数自己负责判断Office的版本并调用相应的Office操作函数。这样主程序不需要编译,只需要发布一个DLL文件用于增加以后的Office版本就可以了。
      

  5.   

    是有不兼容的情况,比如owc组件,不同office版本中注册的clsid都不同。
    解决方法:1、判断office版本,调用不同的函数
    2、调用同一个函数,但对使用的dll进行注册,比如编译时用offic2000,xp中如果不兼容,则把用到的dll分离出来,单独注册
      

  6.   

    很简单,有两个方案:
    1 楼上说的方式。
    2 写个通用接口,专门连接OFFICE等
    我比较喜欢后者。