Показать сообщение отдельно
  #1  
Старый 12.01.2010, 08:13
Midmal Midmal вне форума
Прохожий
 
Регистрация: 22.08.2009
Сообщения: 41
Репутация: 10
Вопрос Проблемы при передаче изображения

Кто знает, "почему кода я передаю изображение из объекта "Image" от "серверной программы" на "клиентскую" в объект "Image" или на оборот, в ответ приходит не само изображение а чёрный квадрат"?
Вот исходный код:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//Сегмент программного кода для отправки данных в потоке:
var
  MemoryStream: TMemoryStream;  //Переменная потока памяти
begin
  MemoryStream := TMemoryStream.Create;  //Создаём поток
  try
    MemoryStream.Position := 0//Число байт от начала и конца потока
    Image1.Picture.BitMap.SaveToStream(MemoryStream);  //Заносим данные в поток
    MemoryStream.Position := 0//Число байт от начала и конца потока
    Socket.SendStreamThenDrop(MemoryStream);  //Отправка данных
  except
    MemoryStream.Free;  //Очистка потока
  end;
end;
 
//Сегмент программного кода для принятия данных из потока:
const
  MAX_BUF_SIZE = $4095//Константа буффера
var
  Int: Integer//Переменная интервала
  MemoryStream: TMemoryStream;  //Переменная потока памяти
  Buffer: array [0..MAX_BUF_SIZE] of Char//Переменная буффера
begin
  Int := Socket.ReceiveLength;  //Устанавливаем длину потока в байтах
  MemoryStream := TMemoryStream.Create;  //Создаём поток
  try
    MemoryStream.Position := 0//Число байт от начала и конца потока
    Socket.ReceiveBuf(Buffer, Int);  //Принимаем данные в буффер
    MemoryStream.WriteBuffer(Buffer, Int);  //Записываем поток в буффер
    MemoryStream.Position := 0//Число байт от начала и конца потока
    Image1.Picture.BitMap.LoadFromStream(MemoryStream);  //Загружаем полученные данные
  except
    MemoryStream.Free;  //Очистка потока
  end;
end;
Помогите пожалуйста не как не могу понять что тут не так, вроде бы всё правильно...
Ответить с цитированием