Приложение на Delphi, Access Violation

День добрый!
Есть рабочая программа на Delphi. Все работает, работает корректно
НО, когда хочу запустить программу на другом компьютере (где не установлена Delphi)
Выскакивает ошибка
image
Не могу понять почему

Видимо что-то не так с логикой в программе и в каком-то случае происходит попытка обратиться к чему-то по nil указателю.


В более современных и популярных языках есть утилиты для анализа кода (linter / static analysis), которые помогают предотвращать подобные баги.

Для Дельфи похоже это не особо развито. Гугл выдал в основном Pascal Analyzer, полная версия еще и платная.

Отладить можно попробовать делением пополам. Урезаете программу вдвое - и смотрите сохранилась ли ошибка. И т.д.
Ну а так - с внешими ресурсами какими-то взаимодействие видимо, БД, например.

В программе я делаю Post-запрос
и именно на этом выпадает ошибка

Слишком мало данных) Обычно в Делфи Access Violation после переноса приложения на другое устройство - статическая привязка в настройках компонент каких-то (где-то выстравлено Active:= True;), а надо устанавливать динамически во время работы программы.

две dll закидывала к exe ssleay32.dll и libeay32.dll

В параметрах сборки надо галку поставить use rtl чего то там … Тогда файлик сразу станет больше в размерах и будет идти на других компах.

Чет странно слышать про эту ошибку в 21 году. Вот как не крути а Делфи в развитии остались году в 10

Тогда оно же вроде пишет, что какую-то библиотеку не нашло.

Ну я насколько помню что не хватало именно стандартных либ либо сборка была собрана дебажная. Тогда она и работала только на компе производителя.

Ещё есть dependancy walker показывает какие именно нужны либы

Это ж в C++Builder’е вроде такие проблемы были.

1 лайк

Так Делфи с тех пор не изменилась … только визуально.

От куда это программа ? Почему вы не обращайте разработчику эту по ? Так много чего есть - но вам этого не принадлежит. Может вы воруйте чужой по и хотите его распространять да ! и за этого он не работает :joy:

  1. Надо знакомится - представиться надо ! Как вас зовут, от куда Вы ?
  2. Про какой программу есть разговор ? - ну покажите эту программу

Ага… покажите паспорт, qr код. Так что-ли?

:joy: :raised_hand:

О, сразу предъява )) Когда то и у меня такое бывало, не с Connected=True в исходниках, то вообще обычно у самых начинающих, а с отсутствием bpl так точно

Да, отсутствует bpl это точно и за этого не умеет “переноса приложения на другое устройство”. Если это программа было создано на C++ Builder то я тоже так думал -что начинающих и показал бы выключит галочка на тот RTLBuild


А на Delphi изначально надо изучать практиковать на bpl да ? Что бы сразу открыть Delphi и компилировать .exe такого не будет. Вот от суда есть подозрения что это НЕ его программа , Он не начинающий программист … его нужно просто программа переноса на другом ПК и всё :joy: Он даже не читает эту диалог… Да есть такие люди :wink:

Все программы я пишу сама. Не стоит меня судить по себе или другим людям.
«Есть программа на Delphi” я имела ввиду написанная мной программа, рабочая программа.
В следующий раз, пожалуйста, не надо такое писать, это очень оскорбляет!
Я новичок в Делфи, изучаю язык 2ой месяц и естественно сталкиваюсь с проблемами и иду на форум за советом, а не за клеветой!

К сожалению это особенность всех российских форумов. На этом ресурсе ещё пока не самое токсичное общество.

А по теме там сверху даже скрины есть. Снимайте галки и ставьте нужные и будет нормальное приложение. А вообще я бы лично рекомендовал не подсаживаться на этот инструмент. Мало того что он платный так ещё и не получает должного развития десятки лет.

Может быть связано и с отсутствием dll которые вместе с делфином ставятся. Например midas.dll, TClientDataSet обвязка над ней

Поискала по форумам, проблема решилась
Необходимо было распаковать архив непосредственно в папке с exe
openssl-1.0.2o-x64_86-win64(1).zip (1.3 МБ)
openssl-1.0.2o-i386-win32(1).zip (1014.5 КБ)