在OS X上使用带有Lazarus的windows.pas

时间:2014-03-15 08:06:08

标签: macos delphi lazarus

我想知道是否有可能以某种方式在OS X上使用带有Lazarus的windows.pas? 我需要在我的项目中使用特殊库,其中一个关键文件使用windows.pas :(任何想法?

5 个答案:

答案 0 :(得分:4)

Windows.pas仅适用于Windows。您必须编辑库以在IFDEF子句中放置uses,然后为任何被破坏的功能提供替代方案。或者联系库作者,看看是否已经有非Windows版本。

答案 1 :(得分:3)

你当然不能在OSX下使用Windows.pas。因为Windows.pas公开了Win32库的功能。

如果你需要在OSX上执行Win32代码,你唯一的选择就是Wine。

一个更合理的解决方案是你找到了另一种选择" special"您引用的库。

答案 2 :(得分:2)

Windows.pas主要是Windows操作系统中包含的不同DLL的包装器。因为你不太可能在OSX中找到那些DLL,我猜你运气不好。

答案 3 :(得分:1)

您可以检查库的源代码并尝试识别windows.pas中使用的常量,过程和函数。如果代码不是太多,您可以尝试修改库,以便它使用相应的Carbon函数。

答案 4 :(得分:0)

虽然各种答案都是正确的,并且大量单元窗口不可移植,但某些功能是抽象的。像interlockedincrement,Rect和ColorRef这样的结构,以及一些与消息相关的功能。看看FPC的类型和lcltype以及系统单元接口。

许多Delphi代码仍然使用Windows来实现该功能,例如单元类型自D6起已存在。

其他一些东西是抽象的,但没有使用相同的(windows单元)调用。在单独的帖子中更好地解释你需要什么。