2010-12-21 68 views
2

其实我正在翻译一些图书馆的免费帕斯卡尔。所以问题是在delphi中可以使用符号(&)符号来转义保留字,但是在free-pascal中不起作用。编译器会用此消息进行投诉
ForLibDx.pas(72,13) Fatal: illegal character "'&'" ($26)你如何逃避Free-Pascal中的保留字?

包含符号符号时。

其实我使用{$MODE DELPHI}编译我的单位在自由帕斯卡

FPC 2.2.4

拉撒路0.9.28.2

在此先感谢。

+0

可能重复:[使用在FPC下一个自动化对象indentifier或保留字(http://stackoverflow.com/questions/4501090/using-a-indentifier-or-reserved- word-in-a-automation-object-under-fpc/4502679#4502679) – 2010-12-21 18:35:58

回答

4

从我回忆中,FPC编译器没有用于转义保留字的方法。
&符号(&)作为转义保留字的转义字符是Delphi语言的Delphi编译器特性。

您可以使用Rob Kennedy建议的here的完全限定名称(包括单元和类名)来解决此问题。

注意:建议在Delphi中避免使用非生成代码中的这些&符号转义,因为并非所有的IDE和第三方工具都可以应付它。

--jeroen

+1

它确实存在,但只在开发版本(2.5.1)中。 http://bugs.freepascal.org/view.php?id=18339 Afaik&主要是为IDispatch btw添加的? COM对象可以具有关键字/保留字的字段名称/方法。 – 2011-01-01 16:56:29