Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 包括共享文件的客户端文件_Delphi_Include_Shared_Uses - Fatal编程技术网

Delphi 包括共享文件的客户端文件

Delphi 包括共享文件的客户端文件,delphi,include,shared,uses,Delphi,Include,Shared,Uses,好的,我有两个游戏项目。一个是服务器,一个是客户端。我将共享单元保存在一个共享文件夹中,该文件夹用于包含在客户机/服务器项目中。然而,有一个问题:我有一个共享文件,它需要一个不同的文件用于客户端/服务器。示例:mySharedLib需要打印到控制台,但是客户端/服务器控制台不同。我有什么选择?谢谢如果它们不同,它们就不再是真正的共享文件了 如果它们不同,它们就不再是真正的共享文件 在共享文件中,可以使用编译器指令 比如说 {$IFDEF MYSERVER} Writeln('Server

好的,我有两个游戏项目。一个是服务器,一个是客户端。我将共享单元保存在一个共享文件夹中,该文件夹用于包含在客户机/服务器项目中。然而,有一个问题:我有一个共享文件,它需要一个不同的文件用于客户端/服务器。示例:mySharedLib需要打印到控制台,但是客户端/服务器控制台不同。我有什么选择?谢谢

如果它们不同,它们就不再是真正的共享文件了

如果它们不同,它们就不再是真正的共享文件

在共享文件中,可以使用编译器指令

比如说

{$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,以确保项目中的所有内容都反映条件符号的当前状态