Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
2-1152867839
SergP.
2006-07-14 13:03
2006.08.06
Как сделать свой класс TTreenode?


15-1152250938
pavel_guzhanov
2006-07-07 09:42
2006.08.06
Будет ли работать программа?


15-1152603369
Ketmar
2006-07-11 11:36
2006.08.06
кто знает, где спулер принтера хранит свои задания?


15-1152527832
tsa
2006-07-10 14:37
2006.08.06
Скажите самое странное, куда Вы прикладывались.


1-1151265041
Nic
2006-06-25 23:50
2006.08.06
JPG в TBitMap при работе с Timage




   Наверх