Я бегу в много предупреждений компилятора:Диапазон при оценке констант
Диапазон проверки ошибок при оценке констант
для подобных заявлений по всей моей программе.
TxMsg - это байт.
GetRegs (0) возвращает результат данных типа WORD.
TxMsg[0] := (GetRegs(0) shr 8) and $0F;
То, что я обнаружил в своем исследовании, что эта ошибка вызвана неявными типажами и что вам нужно преобразовать int64 типа в QWORD. Если да, то как вы это делаете в моей строке кода.
ОБНОВЛЕНИЕ:
fRegs: Array [0..20] из SmallInt;
TxMsg: массив [0..8] байта;
function GetReg(reg:Integer):word;
begin
if reg <= RegCnt then
result:=fRegs[reg];
end;
Когда я внести изменения и запустить его, как вы предложили, я все еще получаю предупреждение компилятора. Когда я нажимаю на ошибку, курсор сидит в TxMsg [| 0]. Обратите внимание на вертикаль, как рядом с Zero. Вот где это. Есть идеи? – ThN
Покажите декларацию fuull txmsg и getregs. Без этого, это догадка –
Хорошо, я обновил запрошенную вами информацию. – ThN