Delphi 包括共享文件的客户端文件
好的,我有两个游戏项目。一个是服务器,一个是客户端。我将共享单元保存在一个共享文件夹中,该文件夹用于包含在客户机/服务器项目中。然而,有一个问题:我有一个共享文件,它需要一个不同的文件用于客户端/服务器。示例:mySharedLib需要打印到控制台,但是客户端/服务器控制台不同。我有什么选择?谢谢如果它们不同,它们就不再是真正的共享文件了 如果它们不同,它们就不再是真正的共享文件 在共享文件中,可以使用编译器指令 比如说Delphi 包括共享文件的客户端文件,delphi,include,shared,uses,Delphi,Include,Shared,Uses,好的,我有两个游戏项目。一个是服务器,一个是客户端。我将共享单元保存在一个共享文件夹中,该文件夹用于包含在客户机/服务器项目中。然而,有一个问题:我有一个共享文件,它需要一个不同的文件用于客户端/服务器。示例:mySharedLib需要打印到控制台,但是客户端/服务器控制台不同。我有什么选择?谢谢如果它们不同,它们就不再是真正的共享文件了 如果它们不同,它们就不再是真正的共享文件 在共享文件中,可以使用编译器指令 比如说 {$IFDEF MYSERVER} Writeln('Server
{$IFDEF MYSERVER}
Writeln('Server'); // this code executes
{$ELSE}
Writeln('Client'); // this code does not execute
{$ENDIF}
然后在服务器项目中定义一个MYSERVER define,在客户端中定义一个MYCLIENT,然后在共享代码分离时使用{$IFDEF)语句
从
条件指令$IFDEF、$IFNDEF、$IF、$ELSEIF、$ELSE、$ENDIF和$IFEND允许您基于条件符号的状态编译或抑制代码。$IF和$ELSEIF允许您基于声明的Delphi标识符进行条件编译。$IFOPT编译或抑制代码取决于指定的编译器开关是否为en能干的
但是,如果共享代码位于DLL或任何其他类型的共享资源(如包)中,则这将不起作用
从
仅当重新编译源代码时,才会计算条件定义。如果更改条件符号的状态,然后重新生成项目,则可能不会重新编译以不变单位表示的源代码。请使用project | Build All Projects,以确保项目中的所有内容都反映条件符号的当前状态
在共享文件中,可以使用编译器指令 比如说
{$IFDEF MYSERVER}
Writeln('Server'); // this code executes
{$ELSE}
Writeln('Client'); // this code does not execute
{$ENDIF}
然后在服务器项目中定义一个MYSERVER define,在客户端中定义一个MYCLIENT,然后在共享代码分离时使用{$IFDEF)语句
从
条件指令$IFDEF、$IFNDEF、$IF、$ELSEIF、$ELSE、$ENDIF和$IFEND允许您基于条件符号的状态编译或抑制代码。$IF和$ELSEIF允许您基于声明的Delphi标识符进行条件编译。$IFOPT编译或抑制代码取决于指定的编译器开关是否为en能干的
但是,如果共享代码位于DLL或任何其他类型的共享资源(如包)中,则这将不起作用
从
仅当重新编译源代码时,才会计算条件定义。如果更改条件符号的状态,然后重新生成项目,则可能不会重新编译以不变单位表示的源代码。请使用project | Build All Projects,以确保项目中的所有内容都反映条件符号的当前状态