vasilius Опубликовано 25 сентября, 2018 Поделиться Опубликовано 25 сентября, 2018 Здравсвтуйте Приложение на FMX под win32, win64 требует наличие таких библиотек fmx250.bpl FMXTee9250.bpl IndyCore250.bpl IndySystem250.bpl rtl250.bpl borlndmm.dll Можно скомпилировать проэкт так, чтобы все библиотеки были прилинкованы в ЕХЕ? Чтобы не таскать за собой bpl Спасибо Цитата Ссылка на комментарий
0 dnekrasov Опубликовано 25 сентября, 2018 Поделиться Опубликовано 25 сентября, 2018 В свойствах проекта укажите "Link with runtime packages = False" Barbanel и kami 2 Цитата Ссылка на комментарий
0 kami Опубликовано 26 сентября, 2018 Поделиться Опубликовано 26 сентября, 2018 7 часов назад, vasilius сказал: borlndmm.dll Вы используете передачу небезопасных параметров между exe и dll? Зря. Tumaso и Maximus 2 Цитата Ссылка на комментарий
0 vasilius Опубликовано 26 сентября, 2018 Автор Поделиться Опубликовано 26 сентября, 2018 (изменено) 10 часов назад, dnekrasov сказал: В свойствах проекта укажите "Link with runtime packages = False" Перед тем, как создать топик, я погуглил Совет аналогичный Вашему встречается часто... Я убираю эту галочку но проэкт стартует с ексепшеном так же пробовал разные комбинации этого с этим Размер ехе растет, но не запускается - всегда аксес виолейшен 3 часа назад, kami сказал: Вы используете передачу небезопасных параметров между exe и dll? Зря. Я лично не использую, но я использую компонент, который является оберткой для hidapi.dll - это длл для работы с HID USB мультиплатформенная... Вот за внутренности этой обертки я ручаться не могу... Изменено 26 сентября, 2018 пользователем vasilius Цитата Ссылка на комментарий
0 Tumaso Опубликовано 26 сентября, 2018 Поделиться Опубликовано 26 сентября, 2018 Ммм, может вы запустите свое приложение в режиме отладки и найдете место, инициирующее исключение? Цитата Ссылка на комментарий
0 vasilius Опубликовано 26 сентября, 2018 Автор Поделиться Опубликовано 26 сентября, 2018 14 минут назад, Tumaso сказал: Ммм, может вы запустите свое приложение в режиме отладки и найдете место, инициирующее исключение? Ммм... может подскажите как.... Исключение только, если Link with runtime packages = False Цитата Ссылка на комментарий
0 kami Опубликовано 26 сентября, 2018 Поделиться Опубликовано 26 сентября, 2018 1 минуту назад, vasilius сказал: может подскажите как Нажать Break и посмотреть по стеку вызовов - где начинается ваш код. Цитата Ссылка на комментарий
0 vasilius Опубликовано 26 сентября, 2018 Автор Поделиться Опубликовано 26 сентября, 2018 5 минут назад, kami сказал: Нажать Break и посмотреть по стеку вызовов - где начинается ваш код. Спасибо,что стараетесь помочь, но видимо Вам не совсем понятна суть проблемы... В любом случае, буду благодарен за полезные советы Цитата Ссылка на комментарий
0 dnekrasov Опубликовано 26 сентября, 2018 Поделиться Опубликовано 26 сентября, 2018 1 час назад, vasilius сказал: Исключение только, если Link with runtime packages = False А Вы попробуйте "Link with runtime packages = True", а Runtime packages сделайте пустым. Хотя, конечно, лучше разобраться из-за чего Exception возникает. Цитата Ссылка на комментарий
0 vasilius Опубликовано 26 сентября, 2018 Автор Поделиться Опубликовано 26 сентября, 2018 Вы имеете ввиду этот список? На счет access violation я бы с удовольствием разобрался, но как видно с скринов - там до моего кода дело не доходит.... и не хочу разводить болото, но худшего дебагера чем в этой среде я не встречал... хуже только полное отсутствие... ну или я не умею его готовить ... Цитата Ссылка на комментарий
0 dnekrasov Опубликовано 26 сентября, 2018 Поделиться Опубликовано 26 сентября, 2018 48 минут назад, vasilius сказал: Вы имеете ввиду этот список? Цитата Ссылка на комментарий
0 vasilius Опубликовано 26 сентября, 2018 Автор Поделиться Опубликовано 26 сентября, 2018 Это, к сожалению, не помогает. Ехе маленький , и требует пакеты... Цитата Ссылка на комментарий
0 kami Опубликовано 27 сентября, 2018 Поделиться Опубликовано 27 сентября, 2018 11 часов назад, vasilius сказал: Ехе маленький , и требует пакеты... Значит глобальная настройка , выставленная в "All configurations - All platforms" перекрыта в наследниках, например в "Debug-Win32" Но не в этом дело. Попробуйте методом последовательного исключения, вернее - включения. Сперва избавьтесь от автолинковки "своих" dll, к примеру - видна загрузка какой-то NSI.dll. Если проблема пропала - постепенно включаем их. Не пропала - можно начать с чистого листа и постепенно дополнять новый проект своим кодом. На худой конец - просто пересоздать dpr и dproj, или что там аналогичное в билдере. Ну и не забываем про Build проекту. Есть смутное подозрение, что собрали-то без рантайм-пакетов, но что-то не подхватилось и до сих пор приложение их хочет. А может - не приложение, а dll??? Свалиться при инициализации ImageList, даже не доходя до своего кода - ну, это я не знаю :))) Может, винду переустановить? (шутка). Цитата Ссылка на комментарий
0 vasilius Опубликовано 27 сентября, 2018 Автор Поделиться Опубликовано 27 сентября, 2018 6 часов назад, kami сказал: Свалиться при инициализации ImageList, даже не доходя до своего кода - ну, это я не знаю :))) Может, винду переустановить? (шутка). Я создал чистый проект подобавлял все компоненты, которые используются в текущем, Втом числе и ДЛЛ , убрал линковку пакеджей и RTL - проект запускается . Технология работает. Тоест дело не в ДЛЛ. Но в моем проекта проблема осталась... Посмотрире на скриншот выше, там дело до ImageList не доходит... и ИмеджЛист может быть Dialogs или что-то другое - тут как компилятор делает... по разному бывает Вот скрин с дебагера под Вин32 - он более понятный, чем с дебагера под вин64 -))) Ошибка в модуле System class function TMonitor.GetFieldAddress(const AObject: TObject): PPMonitor; begin Result := GetMonitorFieldAddress(AObject); end; До моего кода дело не доходит... Цитата First chance exception at $0044303C. Exception class $C0000005 with message 'access violation at 0x0044303c: read of address 0x00000000'. Цитата Ссылка на комментарий
0 vasilius Опубликовано 27 сентября, 2018 Автор Поделиться Опубликовано 27 сентября, 2018 Принимаю поздравления... Начал переносить код с нерабочего проекта в рабочий (который запускался)... у меня в Create было заполнение поля стиля... тип значения TValue у меня было = TValue::From<String>("0"); этот код нормально работал без линковки - все было хорошо с линковкой вылазил Access violation описаный выше решение такое : = TValue::_op_Implicit(String("0")); К сожалению, дебагер, как я и говорил, абсолютно бесполезный в этой среде, жаль..... Barbanel 1 Цитата Ссылка на комментарий
Вопрос
vasilius
Здравсвтуйте
Приложение на FMX под win32, win64 требует наличие таких библиотек
fmx250.bpl
FMXTee9250.bpl
IndyCore250.bpl
IndySystem250.bpl
rtl250.bpl
borlndmm.dll
Можно скомпилировать проэкт так, чтобы все библиотеки были прилинкованы в ЕХЕ? Чтобы не таскать за собой bpl
Спасибо
Ссылка на комментарий
14 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.