Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.06;
Скачать: CL | DM;

Вниз

Бьюсь с отправлением файла по соксу   Найти похожие ветки 

 
Коля   (2006-03-26 11:39) [0]

Ну ведь правильно все написал - а выскакиевает AccessViolation. Помогите ошибку найти.


procedure TAppForm.pute(fil:string);
var
 PHH: TPacketHeaderHolder;
 PH: TPacketHeader;
 Stm:TStream;
 a:file of byte;
 buf:array[0..1024]of byte;
 frc:integer;
begin
 Stm := TMemoryStream.Create;
 
 assignfile(a,fil);
 reset(a);
 while not eof(a) do begin
    blockread(a,buf,1024,frc);
    stm.WriteBuffer(buf,1024);
  end;
  closefile(a);

 PHH := TPacketHeaderHolder.Create(ptReply);
   try
     Stm.Position := 0;
     PHH.DataSize := Stm.Size;
     PHH.DataHash := CalcMD5(Stm);
     PH := PHH.PacketHeader;
   finally
     FreeAndNil(PHH);
   end;

 Stm.Position := 0;
 with ClientSocket.Socket do
 begin
   SendBuf(PH, SizeOf(PH));
   SendStream(Stm);
 end;
   FreeAndNil(Stm);
end;


 
Коля   (2006-03-26 11:42) [1]

да, забыл сказать - выскакивает она на последней строчке.


 
Dmitrij_K   (2006-03-26 14:33) [2]

1. TMemoryStream.LoadFromFile()
2. Сокет блокирующий иль нет?


 
Dmitrij_K   (2006-03-26 14:39) [3]

Почитай справку по SendStream, особенно внизу Note:


 
Коля   (2006-03-26 18:39) [4]

Гениально! Спасибо большое!
убрал FreeAndNil(Stm); и все отлично заработало. А сам двое суток голову ломал


 
Dmitrij_K   (2006-03-26 19:23) [5]

У тебя остается проблема освобождения памяти от MemoryStream


 
Коля   (2006-03-26 22:47) [6]


try
   .....
   .....
   Socket.SendStream(Stm);
 except
   FreeAndNil(Stm);
   raise;
 end;


хм, а вот так, вроде, память освобождается



Страницы: 1 вся ветка

Текущий архив: 2006.08.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.114 c
3-1149167900
VALUA
2006-06-01 17:18
2006.08.06
IBQUERy и Filter


2-1153297247
SergP.
2006-07-19 12:20
2006.08.06
Настройки дельфи и try except end...


2-1153325727
!_SM_!
2006-07-19 20:15
2006.08.06
Типы в Dll


15-1152536407
Guest89
2006-07-10 17:00
2006.08.06
Антивирус Касперского


15-1152195182
PVOzerski
2006-07-06 18:13
2006.08.06
А что, в MySQL менялся синтаксис UDF?