Delphi 7 windows 10 не видит bpl

Обновлено: 06.07.2024

мой общий вопрос: как вы устраняете неполадки "мой BPL не будет загружаться из-за зависимости, которая просто не исчезнет, независимо от того, сколько я очищаю и перекомпилирую". обновление вы можете думать, что у вас есть чистая перекомпилированная система, но благодаря обратному чуду, которое является Windows, и его виртуализации файловой системы mis-функции, вы не имеете.

когда я пытаюсь загрузить пакет designtime (в этом случае с именем dclFsTee.bpl ) в мою IDE Delphi (это быстрый отчет 4 teechart wrapper component package), он жалуется:

Это tee7100.bpl не упоминается ни в одном файле DCP или DCU в моей системе, о котором я знаю. Но очевидно, что что-то не так, и я не могу найти проблему.

все пользователи Delphi сталкиваются с сотней проблем" не компилируются или не загружаются " с BPLs. Универсальный рефрен, когда его спрашивают, Что делать, - это очистить компьютер.

однако теперь я потратил часы на очистку моего компьютера, и пока все компилируется очевидно, что где-то должно быть что-то устаревшее, потому что результирующий файл BPL, который я пытаюсь загрузить, все еще хочет загрузить версию TEECHART BPL, которую я удалил из этой системы несколько дней назад, вместе с каждой трассировкой, которую я мог найти.

следы TeeChart в Delphi 2007, которые я удалил, включают все в папке $(BDS)Lib и $(BDS)Libdebug, а также все папки DCP и BPL в системе. Также каждый файл dcu с именем TeeChart-unit ушедший.

как только вы добрались до конца дороги, что вы пытаетесь сделать дальше? (Отформатируйте жесткий диск, купите новый компьютер.) Серьезно. Я думаю, что я умный парень, но у меня есть жесткий диск 1 ТБ, путь к библиотеке, который работает с папками 80+, и репозиторий исходного кода, который кажется хорошо организованным, но явно что-то скрывается там, где я не могу его найти.

у меня есть Teechart Standard 2012 с полным исходным кодом, и, насколько я знаю, моя машина разработки больше не содержит старых TeeChart bpls или DCP файлы из " tee chart tee7100.версия "bpl", которая поставляется с delphi.

я запустил "перекомпиляцию".exe " мастер, который поставляется с teechart, который, как представляется, просто запустить MSBuild и построить пакеты, после написания объявления в тройник.Inc файлы (есть два из них в дистрибутиве).

однако, как-то, молча кажется, что один из неявных импорта в один из пакетов рисует в каком-то устаревшем файле, который не имеет был перестроен, и поэтому пытается загрузить tee7100.bpl. Новое имя bpl-tee911.bpl.

вместо того, чтобы задавать довольно специфичный для fastreport вопрос, я упоминаю его только как конкретный пример общего мира боли, с которым я сталкивался десятки раз во время разработки в Delphi.

Я только даю детали быстрого отчета, чтобы вы могли видеть, что это на самом деле конкретный экземпляр общей проблемы, с которой иногда сталкиваются внутри Delphi IDE, когда работа с исходным кодом компонента или пакетом или набором пакетов с зависимостями. Очистка компьютера, так что ваш код даже строит может быть сложным.

Итак, вот мой вопрос о разрешении зависимостей пакета Delphi от пакета:

каков наиболее эффективный способ найти или проследить неявную загрузку некоторых больше не нужных проблем BPL, чтобы мой код (который строит и компилирует просто отлично!) будет фактически загружаться в Delphi IDE. Файл BPL это приводит к запуску перекомпиляции, похоже, правильно связывается с правильными файлами DCP, и нет старых/устаревших файлов DCP или DCU. Новое имя файла DCP-tee911.ДЦП, например.

можете ли вы каким-то образом получить представление о том, какой пакет на самом деле устаревший, и что читается и связано и импортируется статически, когда .ссылки на bpl? (Я думаю, может быть, как специальный картографический файл для файлов BPL?)

обновление после многих часы борьбы с этим, и используя каждый трюк, который я знаю, я понял, что я не проверено на наличие некоторых VirtualStore вопросы вызвано виртуализацией файлов в Windows 7. Это означает, что Windows 7 лежит к программам, которые работают поверх него. Это дает вам другую версию файла, который не тот, который вы хотите. Это может быть смертельным несколькими способами; один; вы перекомпилируете BPL, но это не тот, который загружается. BPL, который убивал меня, был в папке SysWow64, которая была частью Виртуальный магазин. Обратите внимание, что virtualstore в основном делает фантомные файлы, которые появляются только там, если вы определенная программа "low privelege", которая Delphi 2007 на Win7/64 бит, по-видимому, есть. Чтобы удалить файлы BPL в папке SysWOW64 VIRTUALSTORE для текущей учетной записи пользователя:

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

ладно никто не ответил, поэтому я напишу это здесь, чтобы быть полезным для будущих людей:

-- помните Windows VirtualStore при очистке сломанных систем, которые имеют старые версии DLL на них, включая TeeChart, FastReport, Indy и так далее, которые, как правило, участвуют в беспорядках, потому что они могут существовать как "из коробки пакетов, которые поставляются с delphi", а также часто устанавливаются как обновленные версии, если вы приобрели и установили их у поставщиков напрямую, или, у вас может быть собственная скомпилированная копия в каталоге mega-component-pack-вашей компании.

-- при поиске дубликатов или устаревших BPLs, выполнение поиска файлов в windows не выглядит в virtualstores, вам придется найти и zap всю область virtualstore для вашего процесса или пользователя, или программы, вручную.

второй уровень этой проблемы таков:

график зависимостей для FastReports сложный:

Это зависит на Indy и у вас может быть своя версия Indy, и у Delphi есть одна, и другие вещи на вашем жестком диске могут иметь свою собственную копию Indy.

Он поддерживает различные версии TeeChart, включая двоичные файлы, которые поставляются с Delphi, и, возможно, стандартную версию или другую купленную версию TeeChart, которую вы могли бы купить у Steema.

он использует предварительно скомпилированный заголовок include file для компиляции, а не только Одна, но две разные копии с одинаковым именем включают (.inc) файл.

когда вы используете свой собственный инструмент компилятора (recompile FastReport), он работает довольно надежно, но не лучше, когда вы хотите построить все в своем проекте из одного скрипта сборки, таким образом, источник моей проблемы.

ключ должен узнать все, что нужно знать о зависимостях всех компонентов в вашей гигантской куче пакетов, и организуйте свою систему чисто, чтобы у вас не было старых вещей (таких как файлы Indy и TeeChart bpls, dcp или dcu). Чистка это довольно сложная работа, если вы не знаете, что вы делаете.

утилита, чтобы действительно удалить все следы версии Indy и TeeChart, которые поставляются с вашей системой, и" Embarcadero edition " FastReports является ключом к разрешению этой ситуации. Общий совет: "если версия X поставляется с Delphi и вы собираетесь установить новую версию, готовьтесь страдать, пока ваша система не будет действительно очищена".

действительно удивительный метод, чтобы избежать всего этого дерьма, - это просто не устанавливать Indy, FastReport или TeeChart (снимите их или пропустите) во время первоначальной установки Delphi IDE, а затем установите их самостоятельно, один за другим, из источников. Просто потому, что версия поставляется предварительно установленной в Delphi, не делает это хорошей вещью. (Обновление: вы больше не можете отменить выбор Indy во время установки, это часть базового продукта Delphi, по крайней мере, с Delphi XE8. Утилита очистки для удаления встроенного Indy из собственных lib dirs Delphi необходима для всех, кто строит свои собственные.)

еще один действительно удивительный метод-запустить установщики для коммерческих компонентов на виртуальной машине, а затем просто собрать исходный код pascal и перенести его на чистую машину разработки и построить его самостоятельно. Таким образом, вы можете избежать ужасных вещей, которые случается, когда у вас есть BPLs и вещи, разбросанные по вашей системе, и даже установленные в C:\Windows\System32 (на 32-битных системах) и C:\Windows\SysWow64 (эквивалентный путь в 64-битных системах).

Мой общий вопрос заключается в том, как устранить неполадки: "Моя BPL не загружается из-за зависимости, которая просто не исчезнет, ​​независимо от того, насколько я очищаю и перекомпилирую". Обновление. Вы можете подумать, что у вас есть чистая перекомпилированная система, но благодаря обратному чуду, который является Windows и его видоизменениями в виртуализации файловой системы, вы этого не сделали.

То, что tee7100.bpl не ссылается ни на какой файл DCP или DCU в моей системе, о котором я ЗНАЮ. Но ясно, что-то не так, и я не могу найти проблему.

Все пользователи Delphi сталкиваются со сто "не будут компилировать или не загружать" проблемы с BPL. Универсальный рефрен при запросе, что делать, это очистить компьютер.

Тем не менее, я потратил несколько часов на очистку своего компьютера, и, хотя все компилирует файл, очевидно, что где-то должно быть что-то устаревшее, потому что полученный BPL файл, который я пытаюсь загрузить, все еще хочет загрузить версию TepCart BPL, которую я удалил из этой системы несколько дней назад, а также каждую найденную мной трассировку.

Следы материалов TeeChart в Delphi 2007, которые я удалил, включают все в папку $(BDS)\Lib и $(BDS)\Lib\debug, а также все папки DCP и BPL в системе. Кроме того, файл dcu с именем, указанным в TeeChart, отсутствует.

Как только вы дошли до конца дороги, что вы попробуете дальше? (Отформатируйте жесткий диск, купите новый компьютер.) Серьезно. Я думаю, что я умный парень, но у меня есть жесткий диск на 1 тб, путь к библиотеке, который работает до 80 + папок, и репозиторий исходного кода, который, кажется, хорошо организован, но, очевидно, что-то скрывается там, где я не могу найти его.

У меня есть TeeChart Standard 2012, с полным исходным кодом, и, насколько я знаю, моя машина разработки больше не содержит старых BPL файлов TeeChart или файлов DCP из версии "tee chart tee7100.bpl", которая поставляется с delphi.

Я запустил мастер "recompile.exe", который поставляется с teechart, который, как представляется, запускает MSBuild и создает пакеты после написания объявления в файлах tee.inc(есть два из них в распределении источника).

Однако, как-то, тихо, кажется, что один из имплицитных импортов в один из пакетов - это рисование какого-то устаревшего файла, который не был перестроен, и поэтому пытается загрузить tee7100.bpl. Новое имя bpl - tee911.bpl.

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

Я предоставляю только данные быстрого отчета, поэтому вы можете видеть, что это фактически конкретный экземпляр общей проблемы, с которой иногда сталкиваются внутри Delphi IDE при работе с исходным кодом или пакетом компонентов или набором пакетов, с зависимостями. Очистка компьютера, так что ваш код даже может быть сложным.

Итак, вот мой вопрос, связанный с вопросом о пакете зависимости от пакета Delphi:

Можете ли вы каким-то образом понять, какой пакет на самом деле устарел, и что читается, связано и импортируется статически, когда ссылки .bpl? (Я думаю, может быть, как специальный MAP файл для файлов BPL?)

Обновить После многих часов борьбы с этим и использования каждого трюка, который я знаю, я понял, что не заметил для некоторых VirtualStore связанные вопросывызванный виртуализацией файлов в Windows 7. Это означает, что Windows 7 принадлежит программам, которые работают поверх нее. Это дает вам другую версию файла, которая не является той, которую вы хотите. Это может быть смертельно по-разному; Один; Вы перекомпилируете BPL, но не тот, который загружается. BPL, который меня убивал, был в папке SysWow64, которая была частью VirtualStore. Обратите внимание, что виртуальный магазин в основном создает файлы phantom, которые существуют только в том случае, если вы являетесь определенной программой с низким приоритетом, которая, по-видимому, является Delphi 2007 на Win7/64 бит. Чтобы удалить BPL файлы в папке VIRTUALSTORE SysWow64 для вашей текущей учетной записи пользователя:

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

delphi не найден указанный модуль

PackageRun.bpl

PackageDes.bpl

Output directories of both packages are in Library paths (Inside there are bpl, dcp and dcu).

PackageDes.bpl is exactly in the same path shown in the error message (C: PackageDes.bpl). After some tests, I found that the error disappear by removing the following line from uMyTestDes.pas unit:

Is there something wrong in my code/projects/environment?

delphi не найден указанный модуль

4 Answers 4

Then clear the log in PM, switch to Delphi and try to load the package, then as soon as error pops up switch back to PM and stop capturing events. Try to do it fast as you can, for example do not waste your time closing error box.

You can also try Microsoft Dependency Walker or similar tools to se if your Design-Time BPL has all the DLL-dependency tree resolvable. Personally I usually use Unreal/Total commander with FileInfo plugin or ntCore CFF Explorer.

delphi не найден указанный модуль

Hi.
I am using a set of libraries like this:

ThirdPartyPackages.dpk
MyVCLs.dpk -> using ThirdPartyPackages
MyDnaPkg.dpk -> using ThirdPartyPackages

All packages contains visual components.
All packages are compiled and installed.
However, sometimes when I load MyDnaPkg.dpk and try to build it, Delphi tells me:

При компиляции пишет мне unit not found system.pas or binary eqivalent

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

delphi не найден указанный модуль

P.S. нельзя так просто взять и переустановить делфи
P.P.S. честн слово ещё не разу без приключений не обошлось

Цитата (supervladislav @ 7.9.2012, 19:01 )
Народ ктонибудь мог бы выложить модуль system.pas слёзно умоляю.

delphi не найден указанный модуль

Мой общий вопрос заключается в том, как вы устраняете неполадки: «Мой BPL не загружается из-за зависимости, которая просто не исчезнет, ​​независимо от того, сколько я очищаю и перекомпилирую». Обновление . Вы можете подумать, что у вас чистая перекомпилированная система, но благодаря обратному чуду - Windows и ее ошибочным функциям виртуализации файловой системы - этого не произошло.

Когда я пытаюсь загрузить свой пакет времени разработки (в данном случае с именем dclFsTee.bpl ) в свою IDE Delphi (это пакет компонентов оболочки teechart fast report 4), он жалуется:

Этот tee7100.bpl не упоминается ни в одном файле DCP или DCU в моей системе, О КОТОРОЙ Я ЗНАЮ. Но явно что-то не так, и я не могу найти проблему.

Все пользователи Delphi сталкиваются с сотней проблем типа «не компилирует или не загружает» с BPL. Универсальный рефрен, когда спрашивают, что делать, - это очистить компьютер.

Однако теперь я потратил часы на очистку своего компьютера, и хотя все компилирует файл, очевидно, что где-то должно быть что-то устаревшее, потому что полученный файл BPL, который я пытаюсь загрузить, все еще хочет загрузить версию TeeChart BPL, который я удалил из этой системы несколько дней назад, вместе со всеми найденными мною трассировками.

Следы материала TeeChart в Delphi 2007, которые я удалил, включают все, что находится в папке $ (BDS) \ Lib и $ (BDS) \ Lib \ debug, а также все папки DCP и BPL в системе. Также исчезли все файлы dcu с именем TeeChart-unit.

Когда вы дойдете до конца пути, что вы будете делать дальше? (Отформатируйте жесткий диск, купите новый компьютер.) Серьезно. Я думаю, что я умный парень, но у меня есть жесткий диск емкостью 1 ТБ, путь к библиотеке, который ведет к более чем 80 папкам, и репозиторий исходного кода, который кажется хорошо организованным, но явно что-то скрывается там, где я не могу Найди это.

У меня есть TeeChart Standard 2012 с полным исходным кодом, и, насколько мне известно, моя машина для разработки больше не содержит старых BPL TeeChart или файлов DCP из версии tee chart tee7100.bpl, поставляемой с delphi.

Я запустил мастер "Recompile.exe", который поставляется с teechart, который, похоже, просто запускает MSBuild и создает пакеты после записи объявления в файлы tee.inc (их два в исходном коде распределение).

Однако каким-то незаметным образом кажется, что один из неявных импортов в один из пакетов рисует какой-то устаревший файл, который не был перестроен, и поэтому пытается загрузить tee7100.bpl. Новое имя bpl - tee911.bpl.

Вместо того, чтобы задавать вопрос «от конкретного к fastreport», я упоминаю его только как конкретный случай из общего мира обид, с которым я сталкивался десятки раз при разработке в Delphi.

Я даю только детали быстрого отчета, чтобы вы могли видеть, что это на самом деле конкретный пример общей проблемы, с которой иногда сталкиваются внутри IDE Delphi при работе с исходным кодом компонента или пакетом, или набором пакетов с зависимостями. . Очистить компьютер, чтобы даже сборка кода была сложной.

Итак, вот мой вопрос о разрешении зависимостей пакетов в Delphi:

Каков наиболее эффективный способ найти или отследить неявную загрузку некоторых-больше-не-требуемых BPL-проблем, чтобы мой код (который отлично компилируется и компилируется!) Действительно загружался в IDE Delphi. Файл BPL, полученный в результате выполнения перекомпиляции, кажется, правильно связывается с правильными файлами DCP, а старые / устаревшие файлы DCP или DCU отсутствуют. Например, новое имя файла DCP - tee911.dcp.

Можете ли вы каким-то образом получить представление о том, какой пакет на самом деле устарел, и что читается, связывается и импортируется статически, когда ссылки .bpl? (Думаю, может быть, как специальный MAP-подобный файл для файлов BPL?)

Обновление . После многих часов борьбы с этим и использования всех известных мне уловок я понял, что у меня не было проверен на наличие некоторых проблем, связанных с VirtualStore , вызванных виртуализацией файлов в Windows 7. Это означает, что Windows 7 является ложью для программ, которые работают поверх нее. Это дает вам другую версию файла, которая вам не нужна. Это может быть смертельно опасно по нескольким причинам; Один; Вы перекомпилируете BPL, но загружается не он. BPL, который меня убивал, находился в папке SysWow64, которая была частью VirtualStore. Обратите внимание, что виртуальный магазин в основном создает фантомные файлы, которые существуют только в том случае, если вы используете определенную программу с низким уровнем привилегий, которой, по-видимому, и является Delphi 2007 на Win7 / 64 bit. Чтобы удалить файлы BPL из папки SysWow64 VIRTUALSTORE для текущей учетной записи пользователя:

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

Читайте также: