函 数: BOOL NET_DVR_GetPlayBackOsdTime(LONG lPlayHandle, LPNET_DVR_TIME lpOsdTime)
参 数: [in]lPlayHandle
[out]lpOsdTime
播放句柄,NET_DVR_PlayBackByName 或
NET_DVR_PlayBackByTime_V40 的返回值
获取的OSD 时间的指针以上是海康的说明书对这个函数的说明,以下是delphi 的函数。请问一下 var lpOsdTime: NET_DVR_TIME ,我应该怎么写?function NET_DVR_GetPlayBackOsdTime(lPlayHandle: LongInt;
var lpOsdTime: NET_DVR_TIME): BOOL ;stdcall;external 'HCNetSDK.dll'
参 数: [in]lPlayHandle
[out]lpOsdTime
播放句柄,NET_DVR_PlayBackByName 或
NET_DVR_PlayBackByTime_V40 的返回值
获取的OSD 时间的指针以上是海康的说明书对这个函数的说明,以下是delphi 的函数。请问一下 var lpOsdTime: NET_DVR_TIME ,我应该怎么写?function NET_DVR_GetPlayBackOsdTime(lPlayHandle: LongInt;
var lpOsdTime: NET_DVR_TIME): BOOL ;stdcall;external 'HCNetSDK.dll'
解决方案 »
- DELPHI程序员要求(2名)--外协也可以
- delphi7不能在VISTA上正常工作
- 动态释放ODAC组件时 invalid pointer operation
- 现在不做技术了要做销售。还得请教各位,看看大家有什么好的看法? 散分
- 非常简单的问题,求一个系统函数(40)分,急,在线给分
- 谁知道如何将object转换为variant
- 关于《第三方控件大全》这本书提供的控件问题。。
- 求Delphi directinput 的用法和详细Demo
- 怎样调用EXE达到这样的效果?
- 请问,怎么调用外部程序?
- 64位win7,Delphi 10 Seattle 下安装uniGUI组件失败,请指教。
- 如何判断一个字符串里奇数和偶数的数字
type
NET_DVR_TIME = record
dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond: Cardinal;
end;
LPNET_DVR_TIME = ^NET_DVR_TIME;function NET_DVR_GetPlayBackOsdTime(lPlayHandle: LongInt;
lpOsdTime: LPNET_DVR_TIME): Boolean; stdcall; external 'HCNetSDK.dll';
function NET_DVR_GetPlayBackOsdTime(lPlayHandle: LongInt;
lpOsdTime: LPNET_DVR_TIME): Boolean; stdcall; external 'HCNetSDK.dll';和function NET_DVR_GetPlayBackOsdTime(lPlayHandle: LongInt;
var lpOsdTime: NET_DVR_TIME): Boolean; stdcall; external 'HCNetSDK.dll';在 Delphi 的语法上是完全等效的,不过如二楼所说,后者比前者要好,因为调用者可声明为局部变量,调用返回后自动释放,对内存效率要高一些,而且也相对安全。
var
PlayHandle: LongInt;
OsdTime: NET_DVR_TIME;
Rst: Boolean;
begin
Rst := NET_DVR_GetPlayBackOsdTime(PlayHandle, @OsdTime); //第一种方式
//Rst := NET_DVR_GetPlayBackOsdTime(PlayHandle, OsdTime); //第二种方式
end;
//其实两种方式是等效的,都是传OsdTime的地址。
//调用过程中不存在内存需要释放的问题。