Wol*_*olf 11 delphi syntax-error lazarus
我正在研究一个应该在Delphi和C++ Builder之间共享的组件,所以我使用Pascal作为通用语言.因为我家里的计算机上没有Delphi,所以我首先在Lazarus IDE中创建了该组件.现在我将它"移植"到Delphi,发现了一个令人惊讶的语法问题:
这与FPC编译(但不是Delphi):
FSync.FSyncMethod := @SyncCheckInput;
Run Code Online (Sandbox Code Playgroud)
这与Delphi(但不是FPC)编译:
FSync.FSyncMethod := SyncCheckInput;
Run Code Online (Sandbox Code Playgroud)
尽管有这种语法上的分歧,我如何在Lazarus和Delphi之间共享一个单位?
Wos*_*osi 15
在单位的开头插入:
{$IFDEF FPC}{$MODE DELPHI}{$ENDIF}
Run Code Online (Sandbox Code Playgroud)
这将指示FreePascal使用Delphi方言编译单元.Delphi将忽略该{$MODE DELPHI}指令,因为FPC未定义.
然后你可以使用它
FSync.FSyncMethod := SyncCheckInput;
Run Code Online (Sandbox Code Playgroud)
用于动态设置事件.