Also im Prinzip ist es kein "richtiger" varianter Teil, sondern nur eine Namensänderung.
Du kannst dir also einfach einen der Namen aussuchen und fertig.
Die Union ist nur dafür da, damit der Record abwärtskompatibel bleibt, also noch der alte Name genutzt werden kann, während man schon den neuen Namen verwenden
kann sollte.
Ansonsten würde ich es eher so übersetzen.
Delphi-Quellcode:
type
SDK_GPSConfig = record
size: SDK_HDRINFO;
version: SDK_HDRINFO;
pDeviceName: ^SDK_WCHAR_T;
pSimFileName: ^SDK_WCHAR_T;
pLogFileName: ^SDK_WCHAR_T;
LogFileFormat: SDK_INT4;
baudRate: SDK_INT4;
flags: SDK_UINT4;
&readOnly: SDK_BOOL; // oder diesen Namen etwas ändern
GNSTMCDevice: SDK_BOOL;
pDeviceName2: ^SDK_WCHAR_T;
pSimFileName2: ^SDK_WCHAR_T;
pLogFileName2: ^SDK_WCHAR_T;
minDirVelo: SDK_INT4;
bCalcMissing: SDK_BOOL;
shortTimeExtrapolator: SDK_BOOL;
useLocationDirectly: SDK_BOOL;
property m_bCalcMissing: SDK_BOOL read bCalcMissing write bCalcMissing; // oder weglassen, wenn der alte Name nicht nötig ist
end;