0

我正在使用并行虚拟机,最近我在 Dropbox 中的代码包含在虚拟机中。Dropbox 有很多问题,如果你有很多文件,它真的很慢。由于 Parallels 很乐意从 HOST 共享文件夹,并且其中一个文件夹是 HOST Dropbox 文件夹,所以我开始使用该驱动器(基本上 \mac\Dropbox 映射为 W:)。一切顺利,VM 速度更快,我可以轻松访问 pas/dfm 文件。

但是,当我构建项目时,编译器抱怨它找不到 DFM 文件(例如 about.dfm、login.dfm 等)。各种 DFM 文件都在那里,编译器抱怨不同的 DFM 文件,即。一个构建它将是 login.dfm 和 about.dfm,下一个它会抱怨它找不到 Waiting.dfm。所有的 DFM 文件都在那里,可以在 IDE 中轻松编辑。

除了不断尝试构建项目之外,我唯一可以尝试的就是将项目的路径放入库中。这没什么区别。

在另一个项目中,编译器找不到项目资源 (res) 文件。当然,那个文件也在那里。

[dcc32 Error] E1026 File not found: 'EMPSecureInitialize.res'
[dcc32 Error] E1026 File not found: 'EMPSecureInitialize.res'

[dcc32 Error] E1026 File not found: 'About.dfm'
[dcc32 Error] E1026 File not found: 'Login.dfm'
[dcc32 Error] E1026 File not found: 'EMPSecureSlideShow.dfm'
[dcc32 Error] E1026 File not found: 'About.dfm'
[dcc32 Error] E1026 File not found: 'Login.dfm'
[dcc32 Error] E1026 File not found: 'EMPSecureSlideShow.dfm'

在本地驱动器上使用源的项目,构建没有问题。具有网络源(Parallels Host)驱动器的项目任意找不到 DFM 或 RES 文件。这些文件在使用 IDE 时总是很容易找到,即。单击设计并出现表单。

我可以理解这是否是一个一致的错误,但它不是 100% 可重复的,有时构建会按预期工作。编译器是否使用了某种奇怪的时序或路径构造?

4

1 回答 1

0

虽然实际上任何人都不可能重现您的精确环境来重现此问题,但我有一种非常强烈的感觉,即一次可以打开的并发文件数量受到限制。至少在 Windows 上,当一个文件夹被共享时,它具有控制并发连接数的能力。

想象一下编译器是如何工作的。它需要快速打开大量文件以读取其内容并从中构建 DCU。首先,加载 PAS 文件。然后,那些依赖于附加文件(例如 DFM 或 RES 文件)的文件会被加载。然后将所有内容链接在一起以产生输出。这是编译器需要同时打开的很多文件。

因此,可能有一种方法可以通过 Parallels 虚拟化来控制和增加同时打开的文件的数量。这似乎不是 Dropbox 的问题。

于 2019-08-14T02:50:54.237 回答