首先,你应该尽量确保你的GUI代码和非GUI的后端代码被干净地分离到GUI应用和库中,如果它们还没有分离的话。 这使得测试更容易,也更容易实现命令行界面、网络界面等。 这些库(包含对象和程序的单元文件)在大多数情况下应该很容易在FreePascal上编译,然而你应该先检查和调试非GUI代码。
一旦这个问题解决了,是时候看看你的GUI了。 如果您使用的是大量封闭的第三方商业组件,那么您可能就不太容易转换GUI了。 如果您使用的主要是库存组件和/或已经被移植到Lazarus的组件,那么您可能确实能够转换GUI并按原样使用它。
请注意,由于Mac OS和Linux程序通常是
supposed
来看起来不同,你可能要考虑,这取决于你的应用。 可能的方法包括。
1.即使在Windows上也使用Lazarus,并在所有平台上使用相同的GUI代码。
2.2.只在OS X和Linux上使用Lazarus,并在转换后将GUI定制为某种程度的本地外观。
3.3. 为OS X编码一个本地GUI(使用Cocoa和可能的XCode),然后链接到你的Pascal代码来处理非GUI。 这种事情在Linux上不太需要,但在那里你可以选择制作LCL(VCL)后端的工具箱。
每种方法都有强有力的支持者,但哪种方法是正确的,取决于你的 "情况 "和你的目标。
如果你的主要兴趣是OS X,考虑加入MacPascal列表。