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