Application.Handle на Линуксе походу не используется и равен 0. Есть пример https://wiki.freepascal.org/Form_in_DLL как делать модальную форму в библиотеке и на Виндовс он прекрасно работает. И работает без подмены Application.Handle как это делали на старых Дельфи. Но вот на Линукс похоже полностью не переносим.
Давно эту тему не трогал, забыл уже подробности. У меня был гибридный проект D7/Lazarus, там изначально было все на D7 с кучей форм в dll и были проблемы при сбоях в этих dll. Потом я эти dll сделал простыми библиотеками функций без гуя, а если нужен гуй, то это отдельный экзешник и связь с ним через сокеты. Это было непросто, но оказалось самым надежным и живучим решением.
Обсуждают сегодня