macos - 将多线程 Delphi 应用程序移植到 Mac : what are my choices?

标签 macos delphi delphi-xe2 lazarus omnithreadlibrary

我需要将应用程序(用 XE2 编写)移植到 Mac。

我的应用程序分为一个简单的 UI 可执行文件(单线程)和一个不可见的引擎(它严重依赖 OmniThreadLibrary 3.02 Cromis DirectoryWatch )

两个 EXE 都通过 Cromis.IPC 进行通信

这就是说我主要对这 3 个组件(OmniThreadLibrary、Cromis IPC 和 DirectoryWatch)有问题

我现在的重点是引擎,它包含大部分代码。

我的问题是:是否有类似于 Mac 版的 OmniThreadLibrary、Cromis DirectoryWatch 和 Cromis.IPC 的东西? (无论是使用lazarus还是使用Mac作为目标编译器的XE2)

这个答案将帮助我决定是否应该使用 Delphi XE2 还是 Lazarus(一个我完全不熟悉的 IDE),并了解什么是最好的长期方案以最少的麻烦提供/支持 Windows 和 Mac 的方法

最佳答案

我正在回答您问题中有关编译器/IDE 的部分。我使用过 Lazarus,我必须说,您不会花太长时间就能上手(除非您的具体要求)。拉撒路越来越专业;许多开发人员都是专业的 Delphi/XE2 编码员。我认为既然您想让您的应用程序在 Mac 上可用,无论如何您都需要做一些工作。但是,如果您决定使用 Lazarus,那么您可以在很大程度上为 Linux、Mac 和 Windows 构建应用程序,而无需付出太多努力……大多数事情只是从相同的几乎未修改的源代码中为每个平台构建正确的内容。当然,正如您所说,您的代码严重依赖于 OTL 由于 OTL 是一个仅限 Windows 的库,我认为您的工作将会为您完成。 (阅读...您可能必须自己编写一个等效的库,或者让别人为您做)至于 Chromis Directory watch,我还没有找到任何东西。

我希望这会有所帮助。干杯

这个Lazarus tutorial显示内置的线程功能。我不知道您正在搜索的等效库。干杯

关于macos - 将多线程 Delphi 应用程序移植到 Mac : what are my choices?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14303271/

相关文章:

delphi - 主菜单中的标准色彩图

json - Delphi - 在运行时解析 JSON 数据时发生访问冲突

delphi - 默认的 TArray.Sort 比较器实际上是做什么的?什么时候会使用它?

cocoa - 开始使用适用于 OS X 的 Cocoa?

windows - 如何最小化任务栏的窗口? (即不图标化)

cocoa - CILanczosScaleTransform 后出现奇怪的现象

Delphi 7,如何将Paintbox内容复制到Tbitmap?

delphi - XML 中的位操作 Delphi - Bitwise

macos - 在沙盒应用程序中验证 OS X 用户名/密码

macos - Android Studio 能否在配备 ARM 处理器的 Mac 上运行?