spcomm控件在onreceivedata事件中指针参数的使用

zhangpuqing 2010-01-24 11:27:42
最近在用SPCOMM控件做应用,有个onreceivedata的事件声明如下:
procedure Tfrmmain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;BufferLength: Word);
网上流传的做法是
Move(Buffer^,PChar(S)^,BufferLength);
其中S是个string的变量,虽按此法已完成任务,但对其用法却是不解.
分析其参数buffer为指针,bufferlength为长度
照理说用指针应如下操作
var p:pointer;
p:=@buffer
showmessage(^p)
为什么网上用的是move呢.求教高人指点
...全文
146 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangpuqing 2010-01-30
  • 打赏
  • 举报
回复
能详细的解说下吗,我基础比较差.百度上也搜不到有用的内容.
buding79 2010-01-25
  • 打赏
  • 举报
回复
move就是内存拷贝,我用的也比较多。
看看,move的函数实现,其实就是拷贝内容的。
这个函数的确比较好用。

你的那种处理,是指针赋值了,没有对数据进行什么处理,跟move处理的不一样。
bdmh 2010-01-25
  • 打赏
  • 举报
回复
Move只是一种方法而已,还有其他方法一样可以实现,不是说必须用move

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧