调用copymemory()函数时,若传递的第二个参数是string类型,应该怎么办?
type
Tmy_data=record
buf:array of char;
end;
buf_list:array of Tmy_data;
Data:string;
copymemory(buf_list[StringGrid1.RowCount-2].buf ,Data,DataLen);
我将Data变量强制转换成Pchar(Data)类型的后,就出提示出错:
project cap.exe raised exception class EAcess violation with message'acess violation at adress 00408840 in module 'cap.exe'
这个问题该如何解决,希望高手给予帮助,谢谢!
type
Tmy_data=record
buf:array of char;
end;
buf_list:array of Tmy_data;
Data:string;
copymemory(buf_list[StringGrid1.RowCount-2].buf ,Data,DataLen);
我将Data变量强制转换成Pchar(Data)类型的后,就出提示出错:
project cap.exe raised exception class EAcess violation with message'acess violation at adress 00408840 in module 'cap.exe'
这个问题该如何解决,希望高手给予帮助,谢谢!
解决方案 »
- (急)D7的程序为什么在Form的OnCreate后报错,此时OnShow还没执行。
- 非常郁闷,散分.前10个每人20.
- 我是学的ADO,听说现在都用dbexpress了,有必要改学dbexpress吗?
- ACCESS中的数据类型问题
- 出现BOF或EOF有一个是真,或当前记录已被删除,所需操作要求一个当前的记录
- 一个很突然的问题!搞得我不知所措!
- 那里有关于调用api函数的详细解说以及函数参考呀? 送分20喽
- 有没有什么工具可以显示一个项目里定义的所有类?
- Canvas does hont allow drawing
- 关于delphi 得reportmechine设计报表的分组统计问题
- 调用copymemory()函数时,若传递的第二个参数是string类型,应该怎么办?
- 数据过滤
1。你要对buf进行空间分配因为他是动态数组 用SetLength(buf,bufLen)
2。顶一楼
setlength(buf_list[StringGrid1.RowCount-2].buf ,PacketInfo.DataLen);
copymemory(buf_list[StringGrid1.RowCount-2].buf ,@PacketInfo.DataBuf[1],PacketInfo.DataLen);pchar(Data)与@Data[1]我都用过,可还是提示一样的错误啊,
opymemory(@buf_list[StringGrid1.RowCount-2].buf[0] ,@PacketInfo.DataBuf[1],PacketInfo.DataLen);