Hallo,
ich bin mir nicht sicher, ob ich hier nochmal eine Frage zu dem Thema stellen kann oder ob ich ein neuen Thread hätte aufmachen sollen (gebt mir eine Info wenn ich ein neuen Thread aufmachen soll).
Folgendes Konstrukt habe ich in C vorliegen:
Delphi-Quellcode:
#define My_MAX_ADDR 127U
#define My_MAX_NR (My_MAX_ADDR + 1)
typedef unsigned char My_BYTE;
typedef unsigned short My_WORD;
typedef unsigned long My_DWORD;
typedef long My_LONG;
typedef struct My_DATA_INT_S
{
My_BYTE value1;
My_BYTE no_ram_here_dont_touch[0x00FF];
} PPC_BYTE_PACKED My_DATA_INT_T;
typedef struct My_EF_S
{
My_DATA_INT_T value1[My_MAX_NR];
My_BYTE reserved_b_00[0x8000];
My_DATA_INT_T value2[My_MAX_NR];
My_BYTE reserved_b_01[0x8000];
} PPC_BYTE_PACKED My_EF_T;
Dieses Struktur muss ich jetzt nach Delphi umbauen.
Mein Vorschlag (bin mir mit den Hex-Offsets hinter den Variablen aber nicht sicher):
Delphi-Quellcode:
const
My_MAX_ADDR = 127;
My_MAX_NR = (My_MAX_ADDR + 1);
type
TMy_MASK_DATA_INT = packed record
value1 : BYTE;
no_ram_here_dont_touch : BYTE;
end;
Den packed record für "My_EF_T" bekomme ich leider nicht abgebildet.
Habt ihr eine Idee wie man das umsetzen könnte?
So vielleicht?
Delphi-Quellcode:
type
TMy_EF = packed record
value1 : array[0..My_MAX_NR] of TMy_MASK_DATA_INT;
reserved_b_00 : BYTE;
value2 : array[0..My_MAX_NR] of TMy_MASK_DATA_INT;
reserved_b_01 : BYTE;
end;