小编tob*_*wan的帖子

如何将C++联合转换为Delphi

我知道之前已经问过这个问题,但是我试图将一些C++结构/联合转换为Delphi以使用Hikvision SDK却没有成功.

我试图转换的C++结构/联合如下:

struct{
  BYTE                           byEnable;
  BYTE                           byRes1[3];
  DWORD                          dwTriggerType;
  NET_ITC_TRIGGER_PARAM_UNION    uTriggerParam;
  BYTE                           byRes[64];
}NET_ITC_SINGLE_TRIGGERCFG,*LPNET_ITC_SINGLE_TRIGGERCFG;

union{
  DWORD                              uLen[1070];
  NET_ITC_POST_IOSPEED_PARAM         struIOSpeed;
  NET_ITC_POST_SINGLEIO_PARAM        struSingleIO;
  NET_ITC_POST_RS485_PARAM           struPostRs485;
  NET_ITC_POST_RS485_RADAR_PARAM     struPostRadar;
  NET_ITC_POST_VTCOIL_PARAM          struVtCoil;
  NET_ITC_EPOLICE_IOTL_PARAM         struIOTL;
  NET_ITC_EPOLICE_RS485_PARAM        struEpoliceRs485;
  NET_ITC_EPOLICE_RS485_PARAM        struPERs485;
}NET_ITC_TRIGGER_PARAM_UNION,*LPNET_ITC_TRIGGER_PARAM_UNION;
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

  PNetItcSingleTriggerCfg = ^TNetItcSingleTriggerCfg;
  TNetItcSingleTriggerCfg = record
    byEnable:      Byte;
    byRes1:        array [0..2] of Byte;
    dwTriggerType: DWord;
    uTriggerParam: TNetItcTriggerParamUnion;
    byRes:         array [0..63] of Byte;
  end;

  PNetItcTriggerParamUnion = ^TNetItcTriggerParamUnion;
  TNetItcTriggerParamUnion = record
    case integer of
      0: (uLen:             array [0..1069] of DWord);
      1: (struIOSpeed:      TNetItcPostIOSpeedParam);
      2: (struSingleIO:     TNetItcPostSingleIOParam); …
Run Code Online (Sandbox Code Playgroud)

c++ delphi ip-camera delphi-xe

9
推荐指数
1
解决办法
606
查看次数

标签 统计

c++ ×1

delphi ×1

delphi-xe ×1

ip-camera ×1