RRU*_*RUZ 8 delphi documentation
我正在使用Documentation Insight功能来记录Delphi库,目前这与Delphi 2005到XE3的工作正常.现在我想添加对旧版Delphi(5,6,7)的支持.
但是当试图在比2005年更小的Delphi版本中编译这样的代码时(Delphi 5,6,7)
{$REGION 'Documentation'}
/// <summary>
/// This is a sample text
/// </summary>
{$ENDREGION}
TFoo=class
procedure Tick;
end;
Run Code Online (Sandbox Code Playgroud)
我收到编译错误
无效的编译器指令REGION
什么是好的,因为REGION
当Delphi IDE改为Galileo时引入了保留字(Delphi 2005).
所以,现在作为解决方法,我正在使用这种语法来编译Delphi 5中的代码 - 到XE3.
{$IFDEF NODEF}{$REGION 'Documentation'}{$ENDIF}
/// <summary>
/// This is a sample text
/// </summary>
{$IFDEF NODEF}{$ENDREGION}{$ENDIF}
TFoo=class
procedure Tick;
end;
Run Code Online (Sandbox Code Playgroud)
但是现在使用这样的代码,Documentation Insight不再适用于Delphi XE2和XE3.
所以问题是,如何在旧版本的Delphi中编译记录的Delphi代码而不影响新版Delphi版本中的Documentation Insight?
如果你必须有一个代码库可以在新旧Delphi 中进行编译而没有任何变化,那么这个解决方案将不起作用.
这是丑陋的,当你从较旧版本的Delphi来回移动到新版本时,它必须完成和撤消.
但是,您可以来回地浏览整个项目.
例如,当您从XE2转到D7时,您将转换它
{$REGION 'Documentation'}
Run Code Online (Sandbox Code Playgroud)
通过插入空格并删除尾随}所以它看起来像这样:
{ $REGION 'Documumentation'
Run Code Online (Sandbox Code Playgroud)
从D7到XE2,你会反过来在每一行的末尾添加一个}
{$ REGION
Run Code Online (Sandbox Code Playgroud)
并删除$后的空格.
就像我说的那样,它很难看.