Hallo Martin,
so sieht die Deklaration von PByteArray in der
Unit SysUtils aus:
Delphi-Quellcode:
PByteArray = ^TByteArray;
TByteArray = array[0..32767] of Byte;
High(Palette
^) muß somit den Wert 3276
7 liefern.
Die Obergrenzen der Arrays kannst du ja über High(Palette4) bzw. High(Palette8) abfragen, mit einer
gemeinsamen Typvereinbarung wirst du wohl scheitern.
Vielleicht hilft dir eine Prozedur mit einem "open array"-Parameter:
Delphi-Quellcode:
procedure MachWas (const aColors: array of TColor);
begin
ShowMessage (IntToStr(High(aColors)));
end;
MachWas (Palette4); // zeigt "15" an
MachWas (Palette8); // zeigt "255" an
Gruß Hawkeye