【发布时间】:2018-01-15 19:01:17
【问题描述】:
我是通过 Delphi(柏林)开发 Mac OSX 应用程序的新手,不知道将资源文件放在哪里。在 Windows 中,我可以写 ImageControl1.LoadFromFile('aFile.png'); 并知道它引用了我的可执行文件所在的目录。或者我可以做一些事情,比如制作并引用我放置资源的单独目录的路径。
但我不知道在 Windows 机器上为将在 Mac 上编译和运行的应用程序开发时将资源放在哪里或它们的路径如何工作。我尝试将图像文件放在 Delphi 项目的 OSX 子目录中,并输入完整路径,即 LoadFromFile('path/goes/here')。我还尝试在路径名表达式中使用正斜杠和反斜杠。在每种情况下,我都会遇到错误(在为 Mac 编译时,而不是 Windows)。我有点想这些文件应该存在于 Mac 上的某个地方……但我迷路了。
我希望有人能告诉我在 Windows 机器上开发 Mac 应用程序时将这些资源文件放在哪里,或者如何正确引用它们(或者,一个或两个很好的参考资料可以解释它对我来说...我在网上看了但找不到答案)。
【问题讨论】:
-
我相信你可以在 OS-X 上将资源嵌入到应用程序中,就像 Windows 的工作方式一样——我认为这两种方法应该完全相同。只需查看嵌入式资源,特别是使用
rc文件。 -
“知道这是在引用我的可执行文件所在的目录”。呃,错了。它是相对于当前目录的。这可能是exe所在的目录,也可能不是。所以这是首先要解决的问题。使用绝对路径。或嵌入式资源。
-
@DavidHeffernan -- 我将保持原样,但你的观点很好。谢谢。
-
FWIW,在 Mac 上,资源位于
.app“文件”的 Resources 分支(子目录)中,这实际上类似于一个目录,其中包含资源分支和可执行文件分支. AFAIK,Delphi 知道这一点(目前无法检查,我的 Mac 正在维修中)并生成正确的.app结构。 ISTM,您应该在 Windows 上做同样的事情,即只需将资源添加到项目中,Delphi 就会做它的事情。它是如何做到的无关紧要。 -
捆绑目录概览:Placing content in a bundle
标签: macos delphi delphi-10.1-berlin