我用TcpServer打开监听连接了别的机子后,就执行到这步了。
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
var
s:string;
begin
Memo1.Lines.Add('==开始接受数据:');
s:=ClientSocket.Receiveln;
while s <> '' do
begin
Memo1.Lines.Add(s);
s := ClientSocket.Receiveln;
end; Memo1.Lines.Add('==接收完毕!');end;但是显示了“==开始接受数据:”这句话之后就再也显示什么,连最后一句'==接收完毕!'都没有。
我看到其他例题都是再开辟一个线程,专门用于接收数据的,但是我搞不懂,都执行到“==开始接受数据:”这步了,那么接收不到数据的原因是什么?求解答!很急!谢谢!
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
var
s:string;
begin
Memo1.Lines.Add('==开始接受数据:');
s:=ClientSocket.Receiveln;
while s <> '' do
begin
Memo1.Lines.Add(s);
s := ClientSocket.Receiveln;
end; Memo1.Lines.Add('==接收完毕!');end;但是显示了“==开始接受数据:”这句话之后就再也显示什么,连最后一句'==接收完毕!'都没有。
我看到其他例题都是再开辟一个线程,专门用于接收数据的,但是我搞不懂,都执行到“==开始接受数据:”这步了,那么接收不到数据的原因是什么?求解答!很急!谢谢!
我选择最后一个 应该是线程阻塞模式
代码没错 我也这样和
只要客户端TCPCLIENT发送信息 应该能显示了
我选择最后一个 应该是线程阻塞模式
代码没错 我也这样用
只要客户端TCPCLIENT发送信息 应该能显示了
出现这样的问题
{自己写定义一个线程用于获取接收信息}
TTST = class(TThread)
private
public
//定义一个字符串列表
ListBuffer :TStringList;
//定义一个字符串
TargetList :TStrings;
//定义一个用于实现把获取的信息放到列表中的过程
procedure AddToList;
//创建线程
constructor Create(CreateSuspended: Boolean);
//执行线程
procedure Excute;
//中断线程
procedure Terminate;
end;不知道怎么回事呀
还有,这句话是什么意思啊
当一个重载的例程被声明为forward(向前声明)或接口声明时,其定义声明必需重申例程的参数列表。