Delphi: Почему я не могу использовать FMX.FORMS в DYLIB - PullRequest
0 голосов
/ 26 октября 2018

Я использую TMS FMX Cloud Pack.Во всем их коде обильно посыпаны FMX.Forms (и FMX.Dialogs, который использует FMX.Forms).В настоящее время я успешно использую эти библиотеки в VCL DLL.

Мое первоначальное тестирование показывает, что если у меня есть FMX.Forms в предложении Uses DYLIB, приложение хоста мигает на панели задач MAC, и приложение не запускается (подозреваю, что DYLIB не загружается).

РЕДАКТИРОВАТЬ: Я получаю эту ошибку при запуске из Windows IDE через PAServer (я не получаю ошибку при запуске из Finder на виртуальной машине MAC):

/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.60.1/Common/ChunkCompression.cpp:49: Ошибка: неподдерживаемый компрессор 8 /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.60.1/Libraries/CompressData/CompressData.c:353: Ошибка: обнаружена неизвестная схема сжатия для файла '/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist' / BuildRoLibrary / Caches / com.apple.xbs / Sources / AppleFSCompression / AppleFSCompression-96.60.1 / Common / ChunkCompression.cpp: 49: Ошибка: неподдерживаемый компрессор 8 /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.60.1 / Libraries / CompressData / CompressData.c: 353: ошибка: обнаружена неизвестная схема сжатия для файла '/System/Library/CoreServices/CoreTypes.bundle / Contents / Library / AppExceptions.bundle / Exceptions.plist 'Ошибка выполнения 230 в 0015EA03

Простое тестовое приложение здесь: Рабочее приложение HOST / DYLIB .Если я просто добавлю FMX.Forms к предложению использования, я получу поведение выше.

Вопрос 1: Это ожидаемое поведение?

Вопрос 2: Есть ли обходной путь (без удаления FMX.Forms - поскольку я использую сторонние библиотеки TMS FMX Cloud Pack)?

РЕДАКТИРОВАТЬ:

Это, кажется, проявление этой ошибки "Невозможно зарегистрировать класс TFMXApplicationDelegate", когда приложение запущено на физической машине.«Ошибка выполнения 230» - вот что я получаю, когда запускаю приложение в виртуальной машине Parallels macOS.

Независимо от этого, решение проблемы «Невозможно зарегистрировать класс TFMXApplicationDelegate» - НЕ использовать FMX.Forms (илилюбое устройство, которое использует FMX.Forms в DYLIB. Все хорошо, за исключением того, что я использую (широко) TMS FMX Cloud Pack, который использует FMX.Forms и FMX.Dialogs (который содержит FMX.Forms) белого цвета. Я пытаюсьизвлекать FMX.Forms и т. д. из их кода кажется чрезмерно амбициозным и, честно говоря, доходит до того, почему мы покупаем сторонние библиотеки. Если они просто не работают, то их, вероятно, не следует использоватьИ да, я написал Продавцу по электронной почте.

Но если у кого-то есть идеи, как это можно решить, чтобы я действительно мог использовать FMX.Forms в DYLIB, тогда, пожалуйста, дайте мне знать.

...