Запуск программы невозможен так как на компьютере отсутствует vcl50 bpl
P.S. Скомпилирована программа была без debug info.
Отслеживать ответы на этот вопрос по RSS
06-09-2003 20:502)Заходим в папку windows\system32
3)Жмем в меню "Команды">"Поиск файлов" и вводим *.bpl
4)Вываливается куча файлов с расширением BPL
5) Перемещаем временно их всех в другую папку
6)Запускаем прогу скомпиленную с галочкой "Build with runtime packages".
7)Смотрим результат .
8)Запускаем прогу скомпиленную без галочки "Build with runtime packages".
9)Смотрим результат .
10)Медитируем .
11)Перечитываем топик .
12)Опять медитируем .
P.S.: Не забудем переместить файлы обратно в папку system32
при выключенной опции (галочка не стоит) Build with runtime packages компилируется и получается exe файл размером 16 килобайт (может быть чуть меньше потому что я еще с debug info компилировал).
при включенной опции (галочка стоит) Build with runtime packages компилируется и получается exe файл размером 3,5 килобайт.
В первом случае tdump показывает что exe файл вполне самодостаточен и требует наличия только kernell32.exe (оно и понятно без него системе трудновато будет запускаться)
Во втором случае tdump показывает что для запуска необходим пакет vcl50.bpl и перечисляется несколько функций (initialization() __fastcall; Finalization() __fastcall; RegisterModule(TLibModule*) __fastcall;. )
Избавится от этого вряд ли удастся.
Я свою ошибку понял, когда посмотрел в результат tdump и увидел, что
импортируются функции StartLib и Halt0 из vcl50.bpl.
От них избавиться, по-моему, невозможно. Если кто-то знает способ избавления,
будут рад, если и со мной поделятся :-)
А насчет длинных строк, это касается импорта всех функций вида _LStrXXX
и _Finalize.
С уважением, Игорь Шевченко
>Я что-то не понятно спросил?
Угу.
>Написал программу на чистом WinAPI скомпилировал ее без пакетов (Build
>with runtime package).
Переводим (дословно):
Написал программу на чистом WinAPI скомпилировал ее без пакетов (сборка
с использованием Runtime пакетов).
Так что действительно не понятно с какой опцией Вы компилировали - с
использованием Runtime пакетов или без (стоит галочка или нет). Если
Вы хотите, чтобы Ваша программа не была зависима от Runtime пакетов,
то галочку нужно _снять_.
Первый совет: не используйте длинных строк Delphi.
Второй совет: не используйте динамических массивов.
Третий совет: если не помогает, присылайте на мне на почту ваш код (целиком).
С уважением, Игорь Шевченко
Используя программу tdump.exe из поставки Delphi определяете, что именно
ваша программа импортирует из VCL50.BPL (в разделе Imports), далее пытаетесь
от этого импортирования избавиться :-)
С уважением, Игорь Шевченко.
. если у кого нибудь есть нормальный ответ сообщите пожалуйста!
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.
Решение подходит для Windows 10, Windows 7, 8, XP и т.д. и состоит из четырех шагов:
Причём вариантов не найденных библиотек масса, а варианты решения для всех отсутствующих библиотек одинаковы:
- Переустановить по новой необходимый пакет (дистрибутив, патч и т.п.), частью которого приходится пропавшая DLL
- Переписать только не достающий файл и переписать его в систему
И первое и второе можно найти ниже в статье.
Шаг 1. Определяем разрядность Вашей операционной системы
Шаг 2. Скачиваем необходимые файлы
Выбирайте для загрузки файлы с Вашей разрядностью системы. Для тех у кого 64-х битная версия, желательно скачать и 32 и 64 версии, но очень важно их не перепутать, можно временно переименовать файлы добавив к ним цифры разрядности.
Почему нужно переписать оба файла? Дело в приложении, которое у Вас не запускается, оно может быть как x32 так и x64, и чтобы оно наверняка запустилось скачиваем оба.
Является частью пакета Microsoft Visual C++ Redistributable для Visual Studio 2015. необходим для запуска приложений написанных с использованием Visual Studio 2015
2. Весь пакет Microsoft Visual C++ Redistributable для Visual Studio 2015 с нашего сайта для полной переустановки:
3. Только необходимые файлы
Является частью пакета Microsoft Visual C++ Redistributable для Visual Studio 2015. необходим для запуска приложений написанных с использованием Visual Studio 20151. Весь пакет с нашего сайта для полной переустановки:
2. Только необходимые файлы
1. Весь пакет с нашего сайта для полной переустановки:
2. Только необходимые файлы
1. Весь пакет с нашего сайта для полной переустановки:
2. Только необходимые файлы
Является частью пакета Microsoft Visual C ++ Redistributable для Visual Studio 2010.1. Весь пакет с нашего сайта для полной переустановки:
2. Только необходимые файлы
Является частью пакета NVIDIA PhysX отвечающей за реалистичную физику в играх, таких как NFS Shift, Metro 2033 и других1. Весь пакет с нашего сайта для полной переустановки:
2. Только необходимый файл
1. Весь пакет с нашего сайта для полной переустановки:
2. Только необходимый файл
1. Весь пакет доступен с сайта Microsoft:
2. Только необходимый файл
1. Только необходимый файл
Шаг 3. Установка
Если Вы скачали установщик пакета, то просто запускаем и устанавливаем (переустанавливаем) его. И все последующие шаги Вам не нужны.
Если Ваш вариант сам файл библиотеки то читаем дальше.
Как вариант можно попробовать переписать dll файл в папку с игрой или программой , которая не запускается. Windows при запуске программ сперва ищет dll в запускаемой папке, а потом уже переходит для поиска к системным. Да и к тому же этот способ безопасней, так как внося изменения в системные разделы Windows, вероятность краха всей системы.
Для этого узнаем путь к запускаемому приложению, где оно расположено, путем нажатия правой кнопки мыши на ярлыке программы, где в контекстном меню выбираем свойства:
Именно в выделенную папку (как на гифке) и нужно скопировать необходимую dll
Итак, если предыдущий вариант не прошел осознавая возможные риски копируем библиотеки в системные разделы Windows.
Для тех у кого 32-х битная версия:
Копируем файл библиотеки в папку C:\Windows\System32 . Если файл уже существует замените его.
Для тех у кого 64-х битная версия:
Если файл 64-х битный, то копируем его в папку C:\Windows\System32 .
Если файл 32-х битный то в папку c:\Windows\SysWoW64 (именно в этой папке для совместимости в Windows хранятся dll файлы 32-х битной разрядности).
Нажмите на клавиатуре сочетание кнопок + R появится окошко выполнить. В него надо ввести команду regsvr32 имя_вашей_библиотеки (например regsvr32 msvcp140.dll)
Для 32-х битного компьютера:
(например regsvr32 msvcp100.dll)
Для 64-х битного компьютера:
Снова нажимаем + R и вводим:
Шаг 5. Перезагружаем компьютер.
Для перестраховки перезагружаем компьютер и пытаемся запустить приложение или игру, которая не запускалась.
Если честно, то я тоже столкнулся с ЭТОЙ проблемой. И это меня сильно розачаровало :( Я так понимаю, что пора создавать инсталяху (сам пока за это не брался), у меня в комплекте с BCB 5.0 идёт утилитка для этого дела (какой-то Install Bla-Bla-Bla) (файл VCL50.bpl лежит в папке winnt\system32\ - это у меня, у тебя скорее всего тоже, а посему у нас всё работате)
Кажется это происход, если добавить некий компонент (компонент из некой группы) У меня на форме есть компонент DataTimePicker Я пользуюсь утилиткой Bounds Checker (кажется так зовётся) от NuMega, т.в. она позволяет загружать исполняемый файл и глядеть чё он просит (какие dll грузит. Это можно узнать и просто дизассамблировав свою же прогу ! например использую dasm32w и посмотрев библиотеки импорта. Вообще-то надеюсь от этого можно как-то избавиться в весрсиях IDE повыше. Надеюсь преобрести BCB 7.0; кто что думает по этому поводу - не стисняйтесь.
мда :)
читаем тут:
Если честно, то я тоже столкнулся с ЭТОЙ проблемой. И это меня сильно розачаровало :( Я так понимаю, что пора создавать инсталяху (сам пока за это не брался), у меня в комплекте с BCB 5.0 идёт утилитка для этого дела (какой-то Install Bla-Bla-Bla) (файл VCL50.bpl лежит в папке winnt\system32\ - это у меня, у тебя скорее всего тоже, а посему у нас всё работате)
Кажется это происход, если добавить некий компонент (компонент из некой группы) У меня на форме есть компонент DataTimePicker Я пользуюсь утилиткой Bounds Checker (кажется так зовётся) от NuMega, т.в. она позволяет загружать исполняемый файл и глядеть чё он просит (какие dll грузит. Это можно узнать и просто дизассамблировав свою же прогу ! например использую dasm32w и посмотрев библиотеки импорта. Вообще-то надеюсь от этого можно как-то избавиться в весрсиях IDE повыше. Надеюсь преобрести BCB 7.0;
Хм. в самом борланде есть tdamp - показывет длл, точку входа и пр. что бы не требовался VCL50.bpl нужно отключить в Project/Options на закладке Packeges убрать галочку Bild with runtime packeges.
кто что думает по этому поводу - не стисняйтесь.
Нужно на видном месте в форуме разместить ФАКу для тех кому уж совсем влом читать хелпы. D
Программы, выпускаемые Казначейством, обновляются весьма редко и функционируют из рук вон плохо на современных операционных системах - это вам скажет любой человек, кто сталкивался с программным обеспечением Казначейства. Точно так же обстоит дело с программой АРМ Генерация ключей, выпущенной этой госструктурой для самостоятельной генерации электронно-цифровых подписей. Одна из наиболее распространенных ошибок, с которыми сталкиваются пользователи Windows 7, Windows 8, Windows 8.1 и Windows 10, скачавшие и установившие любую версию программы АРМ Генерация Ключей, звучит так: Exception EoleSysError in module vcl50.bpl (Ошибка при обращении к реестру OLE). Давайте разберем ее причины и методы решения.
Ошибка при обращении к реестру OLE - как брать?
Причина появления этой ошибки на операционных системах, выпущенных после Windows XP - недоработка программного кода. Если вы работаете на любой из операционных систем, которые вышли позднее XP (Windows 7, Vista, Windows 8, Windows 8.1 или Windows 10) - основным и главным решением данной проблемы будет установка режима совместимости для файла cbank.exe, который расположен на вашем компьютере по адресу C:\FkClnt1\EXE\cbank.exe. Кликните по нему правой кнопкой мыши и выберите пункт выпадающего меню Свойства.
Далее выбирайте вкладку Совместимость и поставьте галочку Запустить программу в режиме совместимости, выбрав из списка Windows XP (пакет обновления 3). Нажмите Ок. Теперь программа должна запускаться.
Если не помогло
Если этот вариант не помог - значит у вас есть проблемы с регистрацией библиотеки midas.dll в OLE-реестре. Для решения этой проблемы надо зарегистрировать библиотеку вручную. Нажмите Пуск, далее в поле "Найти программы и файлы" введите: regsvr32 C:\FkClnt1\SYSTEM\midas.dll. Нажмите Enter. Появится окошко об успешной регистрации библиотеки.
В редких случаях проблема может быть связана с контролем обращения учетных записей к реестру. Для ее отключения выберете: «Пуск» - «Панель управления» - «Учетные записи пользователей» - «Учетные записи пользователей». Выбрать пункт «Изменение параметров контроля учетных записей» и ползунок переместить нижнее положение. Перегрузите компьютер и попробуйте запустить АРМ Генерацию ключей снова.
Читайте также:
- Файл который не может быть просмотрен в браузере графическое изображение база данных
- Практическая работа условное форматирование в excel
- 1с обрезать число в запросе
- 1с план обмена с сайтом
- Удалил аваст а он остался что делать