procedure Tfrm_Jsyl.Button23Click(Sender: TObject);
var
SHOWSTRINGCFG:NET_DVR_SHOWSTRING_V30;
osd: string ;
buf: array[0..43] of Char;
s :string;
i: Integer;
begin SHOWSTRINGCFG.dwSize := sizeof(SHOWSTRINGCFG); // 获取结构体空间大小
// showmessage(inttostr(lUserID));
osd:='video test';
SHOWSTRINGCFG.struStringInfo[0].wShowString:=1; //1为显示
strpcopy(@buf,osd);
// showmessage(buf[0]);
SHOWSTRINGCFG.struStringInfo[0].sString:=buf; -----》这句提示错误了 Incompatible types SHOWSTRINGCFG.struStringInfo[0].wStringSize:=120;
SHOWSTRINGCFG.struStringInfo[0].wShowStringTopLeftX:=110;
SHOWSTRINGCFG.struStringInfo[0].wShowStringTopLeftY:=200; NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_SHOWSTRING_V30,strtoint(Edit_Ch_no.text), @SHOWSTRINGCFG,sizeof(SHOWSTRINGCFG)) ; showmessage(inttostr(NET_DVR_GetLastError()));end;
SHOWSTRINGCFG.struStringInfo[0].sString:=buf; -----》这句提示错误了 Incompatible types以下是NET_DVR_SHOWSTRINGINFO的 结构体,请问如何解决???{///单字符参数(子结构) }
type
NET_DVR_SHOWSTRINGINFO = record
wShowString: Word;
wStringSize: Word;
{= 该行字符的长度,不能大于44个字符 }
wShowStringTopLeftX: Word;
{= 字符显示位置的x坐标 }
wShowStringTopLeftY: Word;
{= 字符名称显示位置的y坐标 }
sString: Array[0..44-1] of Char;
{= 要显示的字符内容 }
end
var
SHOWSTRINGCFG:NET_DVR_SHOWSTRING_V30;
osd: string ;
buf: array[0..43] of Char;
s :string;
i: Integer;
begin SHOWSTRINGCFG.dwSize := sizeof(SHOWSTRINGCFG); // 获取结构体空间大小
// showmessage(inttostr(lUserID));
osd:='video test';
SHOWSTRINGCFG.struStringInfo[0].wShowString:=1; //1为显示
strpcopy(@buf,osd);
// showmessage(buf[0]);
SHOWSTRINGCFG.struStringInfo[0].sString:=buf; -----》这句提示错误了 Incompatible types SHOWSTRINGCFG.struStringInfo[0].wStringSize:=120;
SHOWSTRINGCFG.struStringInfo[0].wShowStringTopLeftX:=110;
SHOWSTRINGCFG.struStringInfo[0].wShowStringTopLeftY:=200; NET_DVR_SetDVRConfig(lUserID, NET_DVR_SET_SHOWSTRING_V30,strtoint(Edit_Ch_no.text), @SHOWSTRINGCFG,sizeof(SHOWSTRINGCFG)) ; showmessage(inttostr(NET_DVR_GetLastError()));end;
SHOWSTRINGCFG.struStringInfo[0].sString:=buf; -----》这句提示错误了 Incompatible types以下是NET_DVR_SHOWSTRINGINFO的 结构体,请问如何解决???{///单字符参数(子结构) }
type
NET_DVR_SHOWSTRINGINFO = record
wShowString: Word;
wStringSize: Word;
{= 该行字符的长度,不能大于44个字符 }
wShowStringTopLeftX: Word;
{= 字符显示位置的x坐标 }
wShowStringTopLeftY: Word;
{= 字符名称显示位置的y坐标 }
sString: Array[0..44-1] of Char;
{= 要显示的字符内容 }
end
解决方案 »
- [Fatal Error] Required package 'fc3000v6' not found 怎么解决
- 几个条件设置下stringgrid如何改变背景色?
- 今天自己尝试做控件!但是不知道为什么我的控件安装完以后在控件面板看不见!请帮帮忙!谢谢!
- 找不到的控件……好奇怪
- //怎样把提取出来的PAW值赋给EDIT2。TEXT,为什么用FIELDBYNAME做不到
- 各位大侠,我刚才的[指针问题]的意思是说,我从没用过指针,因此不知何时、何种情况要用指针,并请您举个精辟的例子,谢谢!
- 聘Delphi工程师
- delphi调用C接口的dll库,参数不匹配问题。
- 请问使用Tstoredproc控件时,怎么把运行在ORACLE服务器上的程序写到ORACLE上?
- 关于Delphi的Isapi编程,急用!!!
- 需要一款免安装的关系型网络数据库产品
- 监控设备中人脸识别算法如何做防护防止别人抄袭?
type
String44 = array[0..43] of Char;
然后把buf、sString都定义为String44类型,是可以互相赋值的
SHOWSTRINGCFG.struStringInfo[0].sString:=buf;
这样吗? 还是报错
我把buf 已经定义成
buf: array[0..44-1] of Char;
那变量 SHOWSTRINGCFG.struStringInfo[0].sString ,的类型应该一样的啊但是还是不能赋值
改为
move(buf, SHOWSTRINGCFG.struStringInfo[0].sString,44);另外,报错的原因,就是Delphi编译器认为record里面的array[0..43] of Char和其它地方的array[0..43] of Char不是同一个类型,这是编译器判断类型不够精确的问题,用户没办法改变。
改为
move(buf, SHOWSTRINGCFG.struStringInfo[0].sString,44);另外,报错的原因,就是Delphi编译器认为record里面的array[0..43] of Char和其它地方的array[0..43] of Char不是同一个类型,这是编译器判断类型不够精确的问题,用户没办法改变。
我把buf 已经定义成
buf: array[0..44-1] of Char;
那变量 SHOWSTRINGCFG.struStringInfo[0].sString ,的类型应该一样的啊但是还是不能赋值type
String44 = array[0..43] of Char; NET_DVR_SHOWSTRINGINFO = record
wShowString: Word;
wStringSize: Word;
{= 该行字符的长度,不能大于44个字符 }
wShowStringTopLeftX: Word;
{= 字符显示位置的x坐标 }
wShowStringTopLeftY: Word;
{= 字符名称显示位置的y坐标 }
sString: String44;// ...
var
buf: String44;