Между параметрами dP, P, T, Q есть 2 пустых байта.
dP и T нормально преобразуются.
Чтобы проверить что с указателями не ошибся, создал 4 отдельных указателя pt1 : POINTER TO REAL;
pt2 : POINTER TO REAL;
pt3 : POINTER TO REAL;
pt4 : POINTER TO REAL;
и разделяю параметры следующим образом:
pt1 := ADR (Arr_Giper [Rx_Addr].Rx_buffer [18]);
Arr_Giper [Rx_Addr].dP := pt1^;
pt2 := ADR (Arr_Giper [Rx_Addr].Rx_buffer [24]);
(*Arr_Giper [Rx_Addr].P := pt2^;*)
pt3 := ADR (Arr_Giper [Rx_Addr].Rx_buffer [30]);;
Arr_Giper [Rx_Addr].T := pt3^;
pt4 := ADR (Arr_Giper [Rx_Addr].Rx_buffer [36]);
(*Arr_Giper [Rx_Addr].Q := pt4^;*)
при этом адреса получаются вроде как правильные:
pt1 = <202b9204>, pt2 = <202b920a>, pt3 = <202b9210>,
pt4 = <202b9216>
Почему 1-ый и 3-ий параметры преобразуются, а 2-ой и 4-ый не хотят?
Повторюсь, на SP RTE все работало.