2009-04-18 65 views
3

鉴于希望在单元文件中使用有用的区域编译器指令,最好的方法是允许在以前版本的Delphi中使用这些相同的单元吗?似乎没有一个'体面的'方法。 (所需的IDE版本是Delphi 7)Delphi区域编译器指令 - 向后兼容的单元文件?

我喜欢在方法定义之上的区域隐藏/显示方法定义帮助和版本历史注释,但我必须将Region指令与其他编译器指令一起包含区域编译器指令的'清晰'。

我想如果使用不支持区域的Delphi版本,可以编写一个预处理器来注释掉所有的Region/EndRegion指令。

我不是100%切换到Delphi 2009,需要支持多个IDE版本。

回答

9

我假设D7不想复制{$ REGION}或{$ ENDREGION}?我只安装了D2007/9,无法检查。

试试这个:

{$IFDEF undef}{$REGION 'bla'}{$ENDIF} 
//some code 
{$IFDEF undef}{$ENDREGION}{$ENDIF} 

D2009编辑器创建一个区域如预期。如果未定义'undef',D7应忽略$ REGION/$ ENDREGION。

+1

+1。放在一行上,并用代码或实时模板创建,这既不会干净,也不会更费力。 – mghie 2009-04-19 10:36:49

+0

这个作品...并将标记为答案,正如原始问题中所述。我真正的答案是现在删除区域,并在时间允许的情况下将所有内容切换到2009年。 – 2009-04-22 02:38:03

0

有几个Delphi(7)编辑器增强组件,提供这样的东西。我认为GExperts呢。

如果您确定对代码有影响,您可以考虑{$ I}分割大型文件。