![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Уважаемые профи, подскажите плиз.
При компиляци проекта возникает ошибка [dcc32 Error] MainForm.pas(9466): E2010 Incompatible types: 'FWZipZLib.TCompressionLevel' and 'System.ZLib.TCompressionLevel' Строка Item.CompressionLevel := TCompressionLevel(Byte(2)); Действительно описания типов в юнитах не соответствуют. Привожу к единообразию как в System.ZLib, но ошибка все равно возникает. Первоначальные объявления классов: юнит FWZipZLib TCompressionLevel = ( clNone, clFastest, clDefault, clMax, clLevel1, clLevel2, clLevel3, clLevel4, clLevel5, clLevel6, clLevel7, clLevel8, clLevel9 ); юнит System.ZLib TZCompressionLevel = (zcNone, zcFastest, zcDefault, zcMax); // CG: Define old enum for compression level TCompressionLevel = (clNone = Integer(zcNone), clFastest, clDefault, clMax); В описании в System.ZLib пытался менять Integer(zcNone) на Byte(zcNone), не помогло |
#2
|
|||
|
|||
![]() типы считаются совместимыми, если только они описаны так
Type B = A; Или один тип является наследником другого. А поскольку перечисления не наследуются, придётся делать явное приведение Item.CompressionLevel := FWZipZLib.TCompressionLevel(2); |