P
plzh
Unregistered / Unconfirmed
GUEST, unregistred user!
我用spcomm控件做了个文件传输程序,但我不知道怎样很好的控制发送端和
接收端的协调。
在发送端我用blockwrite发送。
在接收端我用blockread接收。
我是这样来协调收发的:发送端用
while not eof(file) do
begin
nextblock:=false;
blockread(file,buf,num);
comm1.writecommdata(buf,num);
repeat
until nextblock=true;
end; 发送,
在发送端的onreceivedata事件里,如果收到接收端的字符串
“NEXT"就将nextblock置为true.
if pos('NEXT',buffer)>0 then
nextblock:=true;
在接收端的onreceivedate事件里将buffer中的内容用
blockread写到文件里后再发送字符串“NEXT”到发送端,通知发送下一部分。
blockwrite(file,buffer^,bufferlength)
comm1.writecommdata('NEXT',4);
我遇到的问题是:
不知道为什么在接收端送出“NEXT”后,发送端的onreceivedata事件不
能响应。也就是说发送端在
repeat
until nextblock
死循环。
请各位朋友帮忙,给我找出错误的地方。(非常着急的等待你们的回答)。
接收端的协调。
在发送端我用blockwrite发送。
在接收端我用blockread接收。
我是这样来协调收发的:发送端用
while not eof(file) do
begin
nextblock:=false;
blockread(file,buf,num);
comm1.writecommdata(buf,num);
repeat
until nextblock=true;
end; 发送,
在发送端的onreceivedata事件里,如果收到接收端的字符串
“NEXT"就将nextblock置为true.
if pos('NEXT',buffer)>0 then
nextblock:=true;
在接收端的onreceivedate事件里将buffer中的内容用
blockread写到文件里后再发送字符串“NEXT”到发送端,通知发送下一部分。
blockwrite(file,buffer^,bufferlength)
comm1.writecommdata('NEXT',4);
我遇到的问题是:
不知道为什么在接收端送出“NEXT”后,发送端的onreceivedata事件不
能响应。也就是说发送端在
repeat
until nextblock
死循环。
请各位朋友帮忙,给我找出错误的地方。(非常着急的等待你们的回答)。