Я по колено в своем втором приложении Firemonkey для Windows и OSX и медленно преобразовываю свою библиотеку функций для решения кросс-платформенных проблем. Я пытаюсь создать общую функцию SelectDirectory, которая будет запускать специфичный для платформы код для Windows или OSX. У меня SelectDirectory отлично работает для обеих платформ, вызываемых по отдельности, но для конкретной Windows требуется дескриптор hwndparent для запуска.
Это выполняется в директиве IFDEF MSWINDOWS (точно так же, как OSX в директиве компилятора). Как я могу передать общий дескриптор этой функции или как я могу сослаться на Application.MainForm или что-то, что можно преобразовать в дескриптор Windows внутри этой функции? Я надеюсь избежать использования конкретных модулей Firemonkey в разделе использования этой библиотеки. Я бы предпочел каким-то образом передать THandle и преобразовать его в TWindowHandle внутри функции, но после часа работы над ним я не вижу, как это сделать без ущерба для полезности моей библиотеки.
Любая помощь приветствуется.