好的,所以我有2个游戏项目。一个是服务器,一个是客户端。我将共享单元保存到我用于包含在客户端/服务器项目中的共享文件夹中。但是有一个问题:我有一个共享文件,需要客户端/服务器的不同文件。示例:mySharedLib需要打印到控制台,但客户机/服务器控制台不同。我有什么选择?谢谢包含共享文件的客户端文件
0
A
回答
4
在你共享的文件,你可以使用define编译器指令
例如
{$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:
条件定义时,源代码重新编译仅评价。如果更改条件符号的状态然后重新生成项目,则可能不会重新编译未更改单元中的源代码。使用Project | Build All Projects确保项目中的所有内容都反映了条件符号的当前状态。
1
如果他们不同,他们不再是一个真正的共享文件。
相关问题
- 1. 在客户端不同的javascript文件内共享变量
- 2. 如何与Gmail客户端共享内部存储文件
- 3. 应用上共享文件夹访问mdb文件,而不在客户端
- 4. 云端点API客户端库不包含JAR文件
- 5. EJBObject在客户端共享?
- 6. 在Nuget包中包含共享的PowerShell文件?
- 7. 意图共享文本电子邮件客户端(仅适用于电子邮件客户端)
- 8. 使用客户端脚本语言包含外部html文件
- 9. jQuery和PhoneGap - 包含HTML文件客户端与HTML或JS?
- 10. 客户端文件压缩
- 11. 检查客户端文件
- 12. 客户端加密文件
- 13. 客户端文件夹
- 14. VirtualBox限制.js文件的大小,可以包含在共享文件夹中?
- 15. 在WinSCP脚本文件中包含共享文件夹的凭据
- 16. 使用Office 365客户端库访问OneDrive for Business中的共享文件
- 17. 如何与客户端共享最终的.ipa文件上传到iTunes连接?
- 18. 为什么很难与我的Silverlight客户端共享资源文件(resx)?
- 19. 与本地客户端共享来自Microsoft Azure VM-MSSQL的文件夹
- 20. 访问共享从客观的C文件快捷文件
- 21. 如何共享包含文件句柄的对象?
- 22. 不能包含来自共享项目的文件
- 23. 将头文件包含在构建的共享库中
- 24. qt包含外部头文件的共享库
- 25. 用户之间的Django文件共享
- 26. 使用安装包从客户机上部署网络共享上的文件?
- 27. 共享文件锁
- 28. Tempory文件共享
- 29. xmpp文件共享
- 30. FTP文件共享