Delphi:为什么我不能在 DYLIB 中使用 FMX.FORMS

问题描述 投票:0回答:1

我正在使用 TMS FMX 云包。在他们的代码中大量使用了 FMX.Forms(以及使用 FMX.Forms 的 FMX.Dialogs)。我目前在 VCL DLL 中成功使用了这些库。

我的初始测试表明,如果我在 DYLIB 的 Uses 子句中有 FMX.Forms,主机应用程序会在 MAC 任务栏中闪烁,并且应用程序无法启动(我怀疑是因为 DYLIB 无法加载)。

编辑: 通过 PAServer 从 Windows IDE 运行时出现此错误(从 MAC VM 上的 Finder 运行时没有出现错误):

/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.60.1/Common/ChunkCompression.cpp:49:错误:不支持的压缩器 8 /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.60.1/Libraries/CompressData/compressData.c:353:错误:文件“/System/Library/CoreServices/CoreTypes”遇到未知的压缩方案.bundle/Contents/Resources/Exceptions.plist' /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.60.1/Common/ChunkCompression.cpp:49:错误:不支持的压缩器 8 /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.60.1/Libraries/CompressData/compressData.c:353:错误:文件“/System/Library/CoreServices/CoreTypes”遇到未知的压缩方案.bundle/Contents/Library/AppExceptions.bundle/Exceptions.plist' 运行时错误 230,位于 0015EA03

简单的测试应用程序在这里:工作 HOST/DYLIB 应用程序。如果我只是将 FMX.Forms 添加到使用子句中,我会得到上述行为。

问题 1:这是预期的行为吗?

问题 2:是否有解决方法(无需删除 FMX.Forms - 因为我使用 TMS FMX Cloud Pack 第三方库)?

编辑:

这似乎是应用程序在物理机上运行时出现“无法注册类 TFMXApplicationDelegate”错误的表现。当我在 Parallels macOS VM 中运行应用程序时,出现“运行时错误 230”。

无论如何,“无法注册类 TFMXApplicationDelegate”问题的解决方法是不使用 FMX.Forms(或在 DYLIB 中使用 FMX.Forms 的任何单元)。一切都很好,除了我(广泛)使用 TMS FMX Cloud Pack 自由地使用 FMX.Forms 和 FMX.Dialogs(其中包含 FMX.Forms)。我试图从他们的代码中删除 FMX.Forms 等似乎过于雄心勃勃,坦率地说,这就是为什么我们要这样做的原因。首先购买第三方库。如果它们不起作用,那么可能不应该使用它们。是的,我已经向供应商发送了电子邮件。

但是如果有人有任何想法如何解决这个问题,以便我确实可以在 DYLIB 中使用 FMX.Forms,请告诉我。

delphi firemonkey dylib delphi-10.2-tokyo
1个回答
0
投票

希望您能看到这条消息。我刚刚看到这篇文章,因为我遇到了和你一样的问题。所以我想问一下,你的问题现在已经解决了吗?如果是这样,如果您能为我提供一些有关如何解决此问题的信息,我将非常感激。

谢谢, 雷

© www.soinside.com 2019 - 2024. All rights reserved.