荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: duck (我是一棵树), 信区: SoftDev
标 题: [合集]怎么通过流传数据?
发信站: 荔园晨风BBS站 (2006年01月15日22:34:08 星期天), 站内信件
☆ 1 ──────────── 我是分割线 ─────────────────☆
发信人: limee (lily), 信区: SoftDev
标 题: 怎么通过流传数据?
时 间: 2005年11月02日21:29:32 星期三
我想通过Stream把String类型的数据传出去?
可是下面的程序怎么也传不出去,为什么?
我哪里错了?
var
s : String;
begin
ms:=TmemoryStream.Create;
ms.WriteBuffer(s,Length(s));
ControlX.LoadFromStream(ms);
ms.Free;
end;
☆ 2 ──────────── 我是分割线 ─────────────────☆
发信人: duck (Delphi小王子), 信区: SoftDev
标 题: Re: 怎么通过流传数据?
时 间: 2005年11月02日22:26:58 星期三
自己看看Delphi帮助就知道
procedure WriteBuffer(const Buffer; Count: Longint);
参数要是Buffer类型,一般可以这样写 PChar(s),还有一般长度好像要+1
☆ 3 ──────────── 我是分割线 ─────────────────☆
发信人: limee (lily), 信区: SoftDev
标 题: Re: 怎么通过流传数据?
时 间: 2005年11月03日10:15:35 星期四
还是存在问题啊,这段程序当点了按扭后
memo1控件并没有显示123456
procedure TForm1.Button1Click(Sender: TObject);
var
ms : TMemoryStream;
s : String;
begin
s := '123456';
Memo1.Lines.Add('Testing Stream');
Sleep(2000);
ms := TMemoryStream.Create;
ms.WriteBuffer(PChar(s)^,Length(s));
Memo1.Lines.LoadFromStream(ms);
ms.Free;
end;
☆ 4 ──────────── 我是分割线 ─────────────────☆
发信人: duck (Delphi小王子), 信区: SoftDev
标 题: Re: 怎么通过流传数据?
时 间: 2005年11月03日20:34:46 星期四
WriteBuffer之后加一句:
ms.Position:=0;
把ms的指针地址指向头部(WriteBuffer()参数可以用s或者s[1])
另外建议加异常控制
try
finally
end
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店