2013-04-07 49 views
4

我在2007年德尔福制成的部件,现在我希望把它用Delphi的新版本的工作,所以我必须从
uses Controls;
改变用途,以
uses {$if CompilerVersion > 21}Vcl.Controls{$else}Controls{$ifend};
但我不知道我必须编写的编译器版本。任何人都知道吗?从哪个版本“vclunit.pas”更改为“Vcl.vclunit.pas”?

+1

或者你可以确保'Vcl'项目的单位范围的名称定义,而不必担心这些条件句。 – 2013-04-07 16:10:25

+2

@Jerry该选项可供应用程序开发人员使用,但不适用于组件开发人员。组件不应该对使用它的应用程序做出假设。 – 2013-04-07 16:41:19

+0

@DavidHeffernan非常真实。 – 2013-04-07 16:43:04

回答

5

单元范围名称是在XE2中引入的。而XE2是编译器版本23.所以,有条件的是:

{$if CompilerVersion >= 23}