{$IFDEF MYSERVER}
Writeln('Server'); // this code executes
{$ELSE}
Writeln('Client'); // this code does not execute
{$ENDIF}
字符串 然后在你的服务器项目中定义一个MYSERVER定义,在你的客户端中定义一个MYCLIENT,然后当共享代码分离时使用一个{$IFDEF)语句。 关于Delphi help on conditional definitions: 条件指令$IFDEF、$IFNDEF、$IF、$ELSEIF、$ELSE、$ENDIF和$IFEND允许您根据条件符号的状态编译或隐藏代码。$IF和$ELSEIF允许您根据声明的 Delphi 标识符进行条件编译。$IFOPT根据是否启用指定的编译器开关编译或隐藏代码。 但是,如果共享代码位于DLL或任何其他类型的已编译共享资源(如包)中,则这将不起作用。 关于Delphi help on conditional definitions: 仅当重新编译源代码时才计算条件定义。如果更改条件符号的状态,然后重新生成项目,则可能不会重新编译单元未更改的源代码。使用项目|“生成所有项目”可确保项目中的所有内容反映条件符号的当前状态。
2条答案
按热度按时间xriantvc1#
在共享文件中,可以使用define编译器指令
例如
字符串
然后在你的服务器项目中定义一个MYSERVER定义,在你的客户端中定义一个MYCLIENT,然后当共享代码分离时使用一个{$IFDEF)语句。
关于Delphi help on conditional definitions:
条件指令$IFDEF、$IFNDEF、$IF、$ELSEIF、$ELSE、$ENDIF和$IFEND允许您根据条件符号的状态编译或隐藏代码。$IF和$ELSEIF允许您根据声明的 Delphi 标识符进行条件编译。$IFOPT根据是否启用指定的编译器开关编译或隐藏代码。
但是,如果共享代码位于DLL或任何其他类型的已编译共享资源(如包)中,则这将不起作用。
关于Delphi help on conditional definitions:
仅当重新编译源代码时才计算条件定义。如果更改条件符号的状态,然后重新生成项目,则可能不会重新编译单元未更改的源代码。使用项目|“生成所有项目”可确保项目中的所有内容反映条件符号的当前状态。
pkbketx92#
如果它们不同,它们就不再是真正的共享文件。