我想知道是否有可能以某种方式在OS X上使用带有Lazarus的windows.pas? 我需要在我的项目中使用特殊库,其中一个关键文件使用windows.pas :(任何想法?
答案 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单元)调用。在单独的帖子中更好地解释你需要什么。