Delphi 7 RLINK32 Ошибка чтения файла dfm - ошибка чтения - PullRequest
0 голосов
/ 03 декабря 2010

Я только что столкнулся с проблемой, возникшей из ниоткуда ... Файл DFM очень хорошо читается из Delphi при сборке проекта, но когда я создаю его из командной строки (dcc32), я получаю ошибку Error: RLINK32: Error reading file "update.dfm" Failed read

Что еще более странно, другой проект, содержащий одинаковые сборки файлов, без ошибок как Delphi, так и dcc.

Кто-нибудь знает, что может вызвать что-то вроде этого?

Я пытался построить из другого места, все тот же.

Операционная система Windows Server 2008. Разрешениякажется правильным.

Ответы [ 5 ]

1 голос
/ 07 декабря 2010

Используйте SysInternals Process Monitor и наблюдайте, когда он ищет update.dfm.

Вы, вероятно, увидите, что DCC32 лихорадочно ищет повсюду update.dfm (кроме места, где он находится). Или, может быть, он найдет его, но OpenFile не удается с ошибкой.

В любом случае: вы узнаете, что именно происходит.

0 голосов
/ 31 января 2012

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

Я бы просто открыл dfm в текстовом редакторе и удалил поврежденный текст.

0 голосов
/ 31 января 2012

Я обнаружил это после того, как у меня возникала одна и та же проблема, которая время от времени возникала случайным образом, если я немного изменял код добавления копируемого компонента, на этот раз единственное отличие, которое я сделал, - это изменение = на <> но его изменение работало нормально, за исключением того, что я изменил что-то еще, что происходит снова - отсюда и причина, по которой я нашел это.Будучи довольно новичком, я не совсем понял некоторые другие упомянутые здесь биты, но я обнаружил, что сначала собирал проект, прежде чем нажимать F9 , казалось бы, сработало ... по крайней мере пока.

Надеюсь, это кому-нибудь поможет!:)

0 голосов
/ 07 декабря 2010

Главное, что отличается от dcc32, - это путь к библиотеке в параметрах среды.При сборке из IDE это используется.Когда вы запускаете dcc32, вам нужно указать это.

Вы можете сделать это, задав путь к библиотеке для параметров -I и -U на dcc32, или вы можете использовать файл dcc32.cfg для хранения всей вашей конфигурации для сборки.RLINK32 может указывать на дубликат ресурса, поэтому рассмотрите возможность переименования одной из форм, чтобы избежать конфликта.Сказав, что, надеюсь, путь к библиотеке должен решить проблему.

0 голосов
/ 04 декабря 2010

Чтобы попытаться сузить причину проблемы, откройте dfm в текстовом редакторе, постепенно удаляйте свойства и сохраняйте, пока сборка не заработает.По крайней мере, это указывало бы, если это проблема с определенным компонентом в dfm.

...