用socketconnection的三层数据库程序,加一个下载文件的功能?
搜索到http://topic.csdn.net/t/20060207/12/4543179.html
服务器端
procedure   TFilePacket.ReadFile(const   FileName:   WideString;   var   Packet:   OleVariant); 
var 
    TempStream:TFileStream; 
    Param:OleVariant; 
    p:Pointer; 
begin 
    TempStream:=TFileStream.Create(String(FileName),fmOpenRead); 
    try 
          Param:=VarArrayCreate([0,TempStream.Size-1],varByte); 
          p:=VarArrayLock(Param); 
          try 
                TempStream.Position:=0; 
                TempStream.Read(p^,TempStream.Size); 
          finally 
                VarArrayUnlock(Param); 
          end; 
    finally 
          TempStream.Free; 
    end; 
    Packet:=Param; 
end; 客户端
function   WriteFile(var   Stream:   OleVariant; 
    const   FileName:   WideString):   SYSINT; 
var 
    OutStream:TFileStream; 
    p:Pointer; 
begin 
    Result:=-1; 
    p:=VarArrayLock(Stream); 
    OutStream:=TFileStream.Create(String(FileName),fmCreate); 
    try 
          OutStream.Write(p^,VarArrayHighBound(Stream,1)+1); 
    finally 
          VarArrayUnlock(Stream); 
          OutStream.Free; 
    end; 
    Result:=0; 
end; 客户端调用
procedure TForm1.Button2Click(Sender: TObject);
var
    Param:OleVariant;
begin
  SocketConnection1.AppServer.ReadFile('e:\360safe.exe',param);
  if WriteFile(param,'e:\360safe.exe')=0 then
  application.MessageBox('成功','成功',MB_OK)
end;发现文件10M以下还能正常运行,超过10M显示error reading from socket.怎样解决?