Компиляция Indy 10 завершается с включенной директивой компилятора FASTMM

Я использую Delphi 7. Я загрузил последнюю версию Indy (10.5462) со страницы Fulgan вчера.

Существует командный файл (Full_d7.bat), который обычно успешно компилирует Indy.

Теперь, если я ОПРЕДЕЛЮ USE_FASTMM4 в IdCompilerDefines.inc в Core, Protocols и IdGlobal . па ( 2229 ) Ошибка : Декларация о «GetBytes» отличается от декларации в интерфейсе «IIdTextEncoding» IdGlobal . па ( 2229 ) Ошибка : Декларация о «GetCharCount» отличается от декларации в интерфейсе «IIdTextEncoding» IdGlobal . pas ( 2229 ) Ошибка : декларация из «GetChars» отличается от декларации в интерфейсе «IIdTextEncoding» IdGlobal . па ( 2229 ) Ошибка : Декларация о «GetChars» отличается от декларации в интерфейсе «IIdTextEncoding» IdGlobal . па ( 2229 ) Ошибка : Декларация о «GetChars» отличается от декларации в интерфейсе «IIdTextEncoding» IdGlobal . па ( 2229 ) Ошибка : Декларация о «GetString» отличается от декларации в интерфейсе «IIdTextEncoding» IdGlobal . pas ( 3500 ) Ошибка : Несовместимые типы : «Char» и «Integer» IdGlobal . pas ( 3502 ) Ошибка : Несовместимые типы : «Char» и «Integer» IdGlobal . pas ( 3527 ) Ошибка : Несовместимые типы : 'Byte' и 'Char' IdGlobal . pas ( 3592 ) Ошибка : Несовместимые типы : «Char» и «Byte» IdGlobal . pas ( 3594 ) Ошибка : Несовместимые типы : «Char» и «Byte» IdGlobal . pas ( 3617 ) Ошибка : Несовместимые типы IdGlobal . pas ( 3620 ) Ошибка : Несовместимые типы : «Word» и «Char» IdGlobal . pas ( 3663 ) Ошибка : Несовместимые типы : «Char» и «Byte» IdGlobal . pas ( 3665 ) Ошибка : Несовместимые типы : «Char» и «Byte» IdGlobal . pas ( 3687 ) Ошибка : Несовместимые типы : директория «Word» и «Char» , следующая компиляция возвращается:

Native(U)Int

Это ошибка в выпуске D7 или я чего-то не хватает? Есть ли что-то, что может быть определено в файле конфигурации при использовании FastMM?

delphi,compiler-errors,delphi-7,indy,indy10,

0

Ответов: 1


0

FastMM объявляет собственную версию нескольких собственных типов данных Delphi ( (U)IntPtr, PByteи т. Д.) При поддержке старых компиляторов, которые не имеют этих типов.

Тем не менее, он также объявляет PByteво всех версиях Delphi до D2009, чего он НЕ должен делать (поскольку Systemон доступен в Systemмодуле RTL, вплоть до Delphi 5). Эта переоценка PByteмешает использованию Indy PByteв IdGlobalмодуле, но только в версиях Delphi до D2006 (поскольку Indy не использует FastMM непосредственно в более поздних версиях Delphi).

Я проверил патч для Indy, чтобы решить эту проблему (SVN rev 5463), и отправил отчет об ошибке с помощью FastMM.

Дельфы, компилятор ошибка, Дельфы-7, Инди, indy10,
Похожие вопросы