Delphi Firemonkey跨平台-传递Windows句柄的通用方法

Delphi Firemonkey跨平台-传递Windows句柄的通用方法,windows,macos,delphi,firemonkey,delphi-xe6,Windows,Macos,Delphi,Firemonkey,Delphi Xe6,我正在为Windows和OSX开发第二个Firemonkey应用程序,并在慢慢地转换我的函数库来处理跨平台问题。我正在尝试创建一个通用的SelectDirectory函数,该函数将为Windows或OSX运行特定于平台的代码。我已经选择了SelectDirectory,这两种平台都可以单独调用,但Windows特定的平台需要hwndparent句柄才能运行 这是在IFDEF MSWINDOWS指令中运行的(就像OSX one在其编译器指令中一样)。如何将通用句柄传递给此函数,或者如何引用Appl

我正在为Windows和OSX开发第二个Firemonkey应用程序,并在慢慢地转换我的函数库来处理跨平台问题。我正在尝试创建一个通用的SelectDirectory函数,该函数将为Windows或OSX运行特定于平台的代码。我已经选择了SelectDirectory,这两种平台都可以单独调用,但Windows特定的平台需要hwndparent句柄才能运行

这是在IFDEF MSWINDOWS指令中运行的(就像OSX one在其编译器指令中一样)。如何将通用句柄传递给此函数,或者如何引用Application.MainForm或可以强制转换到此函数内的Windows句柄的内容?我希望避免在这个库的uses子句中使用Firemonkey特定的单位。我宁愿以某种方式传入一个THandle并将其转换为函数中的TWindowHandle,但在处理它一个小时后,我不知道如何在不影响我的库的有用性的情况下完成它


感谢您的帮助。

用于获取Windows特定的
TWinWindowHandle
,该句柄具有
Wnd
属性。这是本机窗口句柄(
HWND
)。

THandle是windows类型,我不知道什么是TWindowHandleis@David: