Модуль GIFImg был скомпилирован с другой версией CCR.Exif.Consts.SOutOfResources
Я пытался использовать библиотеку EXIF в одном из моих пакетов. Это работало раньше, но теперь я получаю странные сообщения:
[DCC Fatal Error] F2051 Модуль GIFImg был скомпилирован с другой версией CCR.Exif.Consts.SOutOfResources
Я действительно не понимаю... Почему Delphi пытается перекомпилировать один из своих файлов? Как это исправить?
GifImg находится здесь:
c: \ Program Files \ Embarcadero \ RAD Studio\8.0\source\vcl \ GIFImg.pas
Обновить:
Я посмотрел на дату этого файла (1 PAS и 2 DCU), и он совпадает с датой любого другого файла в папке RAD Studio\8.0\source\vcl. Таким образом, файл не был случайно изменен.
Update2:
Это мое предложение об использовании:
USES Windows, SysUtils, AnsiStrings, Graphics, Dialogs, Classes, jPeg,
pngImage,
janFX, //CCR.Exif,
{$IFDEF VER150}
GIFImageFinn {Delphi 7}
{$ELSE}
GIFImg {Delphi 2010/XE}
{$ENDIF}
;
Если я комментирую модуль CCR.EXIF, он начинает компилировать мой пакет. Таким образом, добавление EXIF в мой пакет что-то нарушает.
2 ответа
Решено:
Я удалил точки в названии файлов. CCRExif вместо CCR.Exif.
Это было противно.
То, что вы сообщаете, не совсем складывается. GIFImg
блок, который является частью источника Delphi, не относится к CCR.Exif.Consts.SOutOfResources
, И ни одна из единиц, используемых GIFImg
обратитесь к этому также.
Итак, объяснения, которые кажутся мне правдоподобными:
- Вы включаете единицу под названием
GIFImg
где-то в вашем проекте. - Вы нашли ошибку компилятора.
Сообщение об ошибке F2051
По моему опыту, обычно выдается, когда вы пытаетесь перекомпилировать модуль RTL/VCL, но не можете установить параметры проекта, совпадающие с теми, которые используются истинным RTL/VCL. В качестве альтернативы он будет выдан, когда вы перекомпилируете модуль RTL/VCL, который имеет модификации в своем разделе интерфейса.