procedure THIRGB._work_doRGB;
var
Color: integer;
RGB: array [0..2] of byte absolute Color;
begin
RGB[0] := ReadInteger(_Data,_data_R,_prop_R);
RGB[1] := ReadInteger(_Data,_data_G,_prop_G);
RGB[2] := ReadInteger(_Data,_data_B,_prop_B);
FColor := Color;
_hi_CreateEvent(_Data,@_event_onRGB,integer(FColor));
end;
так понятней без сдвигов
--- Добавлено в 2019-02-14 13:11:25
кстати обе лагают (нет проверки на переполнение байта)