如何为所有IDE版本开发和测试组件?

时间:2014-07-20 12:12:31

标签: delphi

以下问题让我想知道第三方组件开发人员如何能够确保组件与所有各种IDE版本兼容?

我只是一个使用Delphi XE并偶尔使用Lazarus的开发人员,如果我在Delphi XE中开发了一些组件,我如何确保它们与Delphi XE6兼容,并且还与旧的IDE兼容?

在编码意义上我并不是一个意思,因为我相信在检查Delphi版本号时你会使用IFDEF标志。我的意思是,如果您无法访问不同的Delphi版本,您如何测试该组件?

我现在不可能购买XE6或新的Delphi IDE一段时间 - 如果可以的话,即使我可以,我也不会有以前的IDE,如Delphi 5,6,7等

那么其他组件开发人员如何做呢?

  • 购买所有IDE? 似乎不太可能
  • 下载IDE的试用版? 似乎也不太可能
  • 让人们测试组件是否有其他IDE? 似乎可能
  • 让它开源并让别人测试一下吗? 除非你想要它,否则似乎也可以关闭来源

它归结为我想制作一些简单的组件,但我希望它们与尽可能多的Delphi版本兼容,如果它们被发布给公众。

我没有办法获得所有Delphi IDE版本,也可能无法下载试用版。即使我购买了XE6或下一个版本,我也无法使用Delphi 8进行测试。

那么,第三方组件开发人员如何在各种IDE上实现组件兼容和测试?我在这里遗漏了一些明显的东西,你怎么能访问每个Delphi IDE版本?

3 个答案:

答案 0 :(得分:5)

作为我自己的组件供应商(我是Indy的主要开发人员),他需要支持多个版本,我只能为自己说话,但这就是我的工作方式:

  

购买所有IDE?

如果可能,是的。我在VM中安装了许多IDE版本,我将其用于测试目的。对于我没有安装的某些版本,我确实有他们的RTL源代码供参考,至少。另一方面,作为TeamB的成员,我获得了免费的IDE许可证,这有所帮助。并非每个人都能负担得起购买每个版本,尽管较新的版本确实为旧版本提供免费许可,因此您应该利用这一点。我最近安装了Delphi 7。如果一个组件在Delphi 7和Delphi XE6中工作,那么它很有可能在两者之间的所有版本中工作(除非任何版本特定的RTL错误等)。

  

下载IDE的试用版?

对我来说不适用,但对某些人来说这可能是一个可行的选择。

  

让人们测试组件是否有其他IDE?

我和Indy这样做。虽然我有几个版本,但我没有每个版本。其他拥有我自己没有版本的用户会提供帮助。如果没有别的,用于设置特定于版本的项目文件和测试安装过程。

  

让它开源并让别人测试一下吗?

这也有帮助。如果要开发闭源组件,可以设置私有存储库并授予选定用户/志愿者访问权限。大多数用户需要/需要源代码(在项目中使用时查找和修复错误,满足公司策略要求等),因此您应该确保提供支付源代码的选项。

答案 1 :(得分:3)

当您购买最新版本时,您可以访问所有以前的版本(从v7开始 - 感谢Uwe Raabe)

Previous versions

答案 2 :(得分:2)

我使用的是第一种方法:购买所有版本。我将所有Delphi版本都恢复到版本3(从1997年开始),但我的机器上只安装了6到XE6(Delphi 8除外,在我看来应该最好忘记)。但当然我并没有同时购买它们,我从Delphi 3开始并从那里更新。

不幸的是,在“现代”操作系统(目前是Windows 8.1到目前为止)上安装和运行旧版本变得越来越复杂,所以迟早我将被迫切换到虚拟机。但是还没有。切换到VM的缺点是您无法使用不同的Delphi版本批量编译:

call CompileForDelphi6.cmd
call CompileForDelphi7.cmd
etc.

就像我为GExperts做的那样。