我使用文件流传输文件的时候似乎客户端没有回应,使用内存流传输服务端又报错,单步也跟踪不到哪一步的错误
帮我看一下代码上哪里有问题
if MidStr(VerInfo,5,4) = 'OKOK' then
begin
//StarSend(I);
try
Files := TFileStream.Create(FFileName,fmOpenRead or fmShareExclusive);
Files.Position := 0;
// FFileStream.Create ; //使用内存流
// FFileStream.LoadFromStream(Files);
// FFileStream.Position := 0;
session[i].CSocket.SendText('Tra_Info;'+inttostr(Files.Size));
finally
Files.Free;
end;
end
else
if MidStr(VerInfo,5,4) = 'Wait' then
begin
//SendFile; 发送文件
try
session[i].CSocket.SendStream(Files);//使用内存流发送就把Files改成FFileStream
finally
Files.Free;
end;
end;
帮我看一下代码上哪里有问题
if MidStr(VerInfo,5,4) = 'OKOK' then
begin
//StarSend(I);
try
Files := TFileStream.Create(FFileName,fmOpenRead or fmShareExclusive);
Files.Position := 0;
// FFileStream.Create ; //使用内存流
// FFileStream.LoadFromStream(Files);
// FFileStream.Position := 0;
session[i].CSocket.SendText('Tra_Info;'+inttostr(Files.Size));
finally
Files.Free;
end;
end
else
if MidStr(VerInfo,5,4) = 'Wait' then
begin
//SendFile; 发送文件
try
session[i].CSocket.SendStream(Files);//使用内存流发送就把Files改成FFileStream
finally
Files.Free;
end;
end;
使用内存流的话 提示 Access violation at address 004038a5 in module 'Project1.exe' read of address 00000000
2、根据大小分包传输