• 全部
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

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呢.求教高人指点
...全文
105 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhangpuqing 2010-01-30
能详细的解说下吗,我基础比较差.百度上也搜不到有用的内容.
回复
buding79 2010-01-25
move就是内存拷贝,我用的也比较多。
看看,move的函数实现,其实就是拷贝内容的。
这个函数的确比较好用。

你的那种处理,是指针赋值了,没有对数据进行什么处理,跟move处理的不一样。
回复
bdmh 2010-01-25
Move只是一种方法而已,还有其他方法一样可以实现,不是说必须用move
回复
发帖
Delphi
创建于2007-08-02

4873

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2010-01-24 11:27
社区公告
暂无公告