[求救]一个socket问题,急!(100分)

  • 主题发起人 主题发起人 stdfax
  • 开始时间 开始时间
S

stdfax

Unregistered / Unconfirmed
GUEST, unregistred user!
求教各位大哥:
我用delphi编了个socket通讯的程序, client端用delphi语言编写,server端是unix C编写,现在发现个问题:
Tstream.write函数怎么只支持常量不支持变量啊?
如 stream Tstream;
a string;

(1). stream.write('abc',3); //正确
(2). a:='abc';
stram.write(a,3); //错误
难道不能把一个变量的内容从delphi端写出去吗?还是我那里没考虑到,请各位指正!
 
可以支持变量的
改一下
a:='abc';
stram.write(@a[1],3);
试试看
 
必须先置长度
setlength(a)=3
 
stream.write(PChar(a)^,Length(a));
 
按照3位高手的指导,我一一做了测试:
1。Tassadar: 改过后,程序在编译时报:[Error] start.pas(233): Variable required
2。jiajiajia888: 改过后,程序执行时依然报错
3。lookee:改过后就OK了

另:在问题中我把Twinsocketstream错写成Tstream,可能对答案有误导!在此表示歉意!
谢谢三位的指导!!!(想不到困扰我两天的问题,一下子就被解决了,真高兴)
谢谢!
 
后退
顶部