如何将c头文件翻译成Delphi2006

如何将c头文件翻译成Delphi2006,delphi,Delphi,如何翻译以下内容 (一) (二) (三) 谢谢。(1): 取决于您是否只想使用此头与C库接口,在这种情况下,您可以安全地忽略它 (如果要将整个软件包转换为Delphi,并希望基于它生成DLL,则需要添加 类似于{$ifdef LVR_NET_EXPORT}EXPORT;{$endif}到函数声明中,并在主库文件(以“library”开头的文件)中将函数添加到“exports”子句中(同样是{$ifdef LVR_NET_EXPORT}) ) 简言之:忽略 (2) : 这还不够,因为记录的打包方式

如何翻译以下内容

(一)

(二)

(三)

谢谢。

(1): 取决于您是否只想使用此头与C库接口,在这种情况下,您可以安全地忽略它

(如果要将整个软件包转换为Delphi,并希望基于它生成DLL,则需要添加

类似于{$ifdef LVR_NET_EXPORT}EXPORT;{$endif}到函数声明中,并在主库文件(以“library”开头的文件)中将函数添加到“exports”子句中(同样是{$ifdef LVR_NET_EXPORT}) )

简言之:忽略

(2) :

这还不够,因为记录的打包方式不是这样定义的。但是原始片段也缺少关于包装的信息

(三)


从dll导入。请注意“名称”部分,您可以在其中调整导入的标识符的大小写。您可以这样翻译结构:

type
  TLVR_NET_ALARM_INFO = record
    dwAlarmInput : Cardinal;
    dwMotionDetect : Cardinal;
    dwVideoCover : Cardinal;
    dwReserve array [0..15] of Cardinal;
  end;

var
  LVR_NET_ALARM_INFO :  TLVR_NET_ALARM_INFO;
以及功能声明:

interface

    function LvrNetGetSDKVersion: Cardinal; stdcall;

implementation

    function LvrNetGetSDKVersion; external 'nameofthedll.dll';
但一切都没有经过测试。我希望有帮助

也请查收。在那里您可以找到工具HeadConv,它可以自动将C头文件转换为Delphi。一开始很好,但并不完美

LVR_NET_API DWORD __stdcall LvrNetGetSdkVersion();
  Type LPLVR_NET_ALARM_INFO = ^LVR_NET_ALARM_INFO
       LVR_NET_ALARM_INFO  = Record
                               dwAlarmInput,
                               dwVideoLoss,
                               dwMotionDetect,
                               dwVideoCover    : DWORD;
                               dwReserve       : array[0..15] of DWord;
                             end;   
       TLVR_NET_ALARM_INFO = LVR_NET_ALARM_INFO; // not needed but Delphi style convention
  function LvrNetGetSdkVersion:DWord; 
  function LvrNetGetSdkVersion:DWord; stdcall; external 'dllname.dll' name 'LvrNetGetSdkVersion';
type
  TLVR_NET_ALARM_INFO = record
    dwAlarmInput : Cardinal;
    dwMotionDetect : Cardinal;
    dwVideoCover : Cardinal;
    dwReserve array [0..15] of Cardinal;
  end;

var
  LVR_NET_ALARM_INFO :  TLVR_NET_ALARM_INFO;
interface

    function LvrNetGetSDKVersion: Cardinal; stdcall;

implementation

    function LvrNetGetSDKVersion; external 'nameofthedll.dll';