Форум: "Сети";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
ВнизIndy tc clien Найти похожие ветки
← →
Std © (2006-04-10 14:24) [0]доброго времени
Вот отправляю файл с помощью этой компоненты:
type
TtransCom = record
FileName: String[255];
BufSize: Int64;
Buffer: array[0..16383] of byte;
end;
type
Tcomand = record
comand:string[255];
param1:string[255];
param2:string[255];
end;
procedure TForm1.Button1Click(Sender: TObject);//отправка файла
var
com:Tcomand;
transcom:TtransCom;
f:file;
numread:integer;
begin
AssignFile(f,"d:\card.doc");
FileMode:=fmOpenRead;
Reset(f);
IdTCPClient1.Connect(1000);
repeat
transcom.FileName:="card.doc";
BlockRead(f,transcom.Buffer,sizeof(transcom.Buffer),numread);
transcom.BufSize:=numread;
com.comand:="send";
com.param1:=inttostr(FileSize(f));
idTCPClient1.WriteBuffer(Com,SizeOf(Com));
idTCPClient1.WriteBuffer(transcom,SizeOf(TransCom));
until (numread=0);
CloseFile(f);
IdTCPClient1.Disconnect;
end;
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);//получение файла
var
com:Tcomand;
transcom:TtransCom;
f:file;
begin
AThread.Connection.ReadBuffer(com,sizeof(com));
if com.comand="send" then
begin
AThread.Connection.ReadBuffer(transcom,sizeof(transcom));
AssignFile(f,"c:\"+transcom.FileName);
FileMode:=fmOpenReadWrite;
try
Reset(f);
except
Rewrite(f);
end;
Seek(f,filesize(f));
If FileSize(F)<>StrToInt(Com.Param1) then
begin
BlockWrite(F,TransCom.Buffer,TransCom.BufSize);
Application.ProcessMessages;
closefile(f);
end
else
closefile(f);
end;
end;
при выполнениее программы вибивает ошибку:
I/O error 998 вот здесь
BlockRead(f,transcom.Buffer,sizeof(transcom.Buffer),numread);
в чем проблема не пойму... все вроде правильно
оправлять и получать файл Strem"ом нежелательно, нада реализовать этот метод...
← →
Сергей М. © (2006-04-10 15:00) [1]И причем здесь Инди ?
← →
Std © (2006-04-10 15:13) [2]хз, може я через инди не правильно чето делаю
← →
Сергей М. © (2006-04-10 15:25) [3]
> може я через инди не правильно чето делаю
Ты с дерева упал, да ?
Вот ты скажи, ну какое отношение ф-ция BlockRead() имеет к Indy ?
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c