прога делает только один скрин и все, а дальше только файл растет и растет. делаю вставку AFileStream.Free; и пишет что фалй принят не доконца
Код:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
Buffer: array of Byte;
Len: Integer;
begin
Len:=AData.Size;
SetLength(Buffer, Len);
Memo1.Lines.Add(IntToStr(Len));
if FileStreamSize=-1 then
begin
AData.ReadBuffer(Buffer[0], Len);
FileStreamSize:=PInteger(@Buffer[0])^;
memo2.Lines.Add('111111='+inttostr(FileStreamSize));
end else
begin
Len:=AData.Read(Buffer[0], Len);
AFileStream.Write(Buffer[0], Len);
end;
if len=0 then begin
MemStream:= TMemoryStream.Create;
jpg:=TJPEGImage.Create;
try
MemStream.LoadFromStream(AFileStream);
MemStream.Position := 0;
jpg.LoadFromStream(MemStream);
Image1.Picture.Graphic := jpg;
finally
MemStream.Free;
jpg.Free;
if bsSkinEdit1.Text='0' then IdUDPClient1.Send('screens')
else IdUDPClient1.Send('endscreens');
end;end;end;
но если сделать отдельной кнопкой AFileStream.Free; то скрины делаються нормально