Próbuję przeinstalować Indy 10 w Delphi i mam problem z IndyProtocols120.dpk .
Podczas kompilacji dostaję taki błąd:
[DCC Error] IdHeaderCoder2022JP.pas(78): E2072 Number of elements (256) differs from declaration (730)
W IdHeaderCoder2022JP kompilator zaznacza na czerwono ostatnią linię poniższej instrukcji:
unit IdHeaderCoder2022JP;
interface
{$i IdCompilerDefines.inc}
uses
IdGlobal, IdHeaderCoderBase;
type
TIdHeaderCoder2022JP = class(TIdHeaderCoder)
public
class function Decode(const ACharSet, AData: String): String; override;
class function Encode(const ACharSet, AData: String): String; override;
class function CanHandle(const ACharSet: String): Boolean; override;
end;
implementation
const
kana_tbl : array[#$A1..#$DF] of Word = (
$2123,$2156,$2157,$2122,$2126,$2572,$2521,$2523,$2525,$2527,
$2529,$2563,$2565,$2567,$2543,$213C,$2522,$2524,$2526,$2528,
$252A,$252B,$252D,$252F,$2531,$2533,$2535,$2537,$2539,$253B,
$253D,$253F,$2541,$2544,$2546,$2548,$254A,$254B,$254C,$254D,
$254E,$254F,$2552,$2555,$2558,$255B,$255E,$255F,$2560,$2561,
$2562,$2564,$2566,$2568,$2569,$256A,$256B,$256C,$256D,$256F,
$2573,$212B,$212C);
vkana_tbl : array[#$A1..#$DF] of Word = (
$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,
$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$2574,$0000,
$0000,$252C,$252E,$2530,$2532,$2534,$2536,$2538,$253A,$253C,
$253E,$2540,$2542,$2545,$2547,$2549,$0000,$0000,$0000,$0000,
$0000,$2550,$2553,$2556,$2559,$255C,$0000,$0000,$0000,$0000,
$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,
$0000,$0000,$0000);
//for some reason, I get a "[DCC Error]
//IdHeaderCoder2022JP.pas(39): E2011
//Low bound exceeds high bound" with DotNET that doesn't happen in Win32.
sj1_tbl : array[128..255] of byte = (//#128..#255] of Byte = (
$00,$21,$23,$25,$27,$29,$2B,$2D,$2F,$31,$33,$35,$37,$39,$3B,$3D,
$3F,$41,$43,$45,$47,$49,$4B,$4D,$4F,$51,$53,$55,$57,$59,$5B,$5D,
$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,
$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,
$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,
$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,
$5F,$61,$63,$65,$67,$69,$6B,$6D,$6F,$71,$73,$75,$77,$79,$7B,$7D,
$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$00,$00,$00);
sj2_tbl : array[#0..#255] of Word = (
$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,
$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,
$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,
$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,
$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,
$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,
$0000,$0000,$0000,$0000,$0021,$0022,$0023,$0024,$0025,$0026,
$0027,$0028,$0029,$002A,$002B,$002C,$002D,$002E,$002F,$0030,
$0031,$0032,$0033,$0034,$0035,$0036,$0037,$0038,$0039,$003A,
$003B,$003C,$003D,$003E,$003F,$0040,$0041,$0042,$0043,$0044,
$0045,$0046,$0047,$0048,$0049,$004A,$004B,$004C,$004D,$004E,
$004F,$0050,$0051,$0052,$0053,$0054,$0055,$0056,$0057,$0058,
$0059,$005A,$005B,$005C,$005D,$005E,$005F,$0000,$0060,$0061,
$0062,$0063,$0064,$0065,$0066,$0067,$0068,$0069,$006A,$006B,
$006C,$006D,$006E,$006F,$0070,$0071,$0072,$0073,$0074,$0075,
$0076,$0077,$0078,$0079,$007A,$007B,$007C,$007D,$007E,$0121,
$0122,$0123,$0124,$0125,$0126,$0127,$0128,$0129,$012A,$012B,
$012C,$012D,$012E,$012F,$0130,$0131,$0132,$0133,$0134,$0135,
$0136,$0137,$0138,$0139,$013A,$013B,$013C,$013D,$013E,$013F,
$0140,$0141,$0142,$0143,$0144,$0145,$0146,$0147,$0148,$0149,
$014A,$014B,$014C,$014D,$014E,$014F,$0150,$0151,$0152,$0153,
$0154,$0155,$0156,$0157,$0158,$0159,$015A,$015B,$015C,$015D,
$015E,$015F,$0160,$0161,$0162,$0163,$0164,$0165,$0166,$0167,
$0168,$0169,$016A,$016B,$016C,$016D,$016E,$016F,$0170,$0171,
$0172,$0173,$0174,$0175,$0176,$0177,$0178,$0179,$017A,$017B,
$017C,$017D,$017E,$0000,$0000,$0000); // <-- ta linijka
Nie orientuję się w programowaniu w Delphi. Pracuję w C++. Ale wygląda mi to na jakąś tablicę z nieprawidłową ilością elementów. Czy to wina kompilatora czy kodu ?
Dziękuję.