Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с TMemoryStream


genek84 ©   (2003-10-22 09:14:00) 

Как проверить переменную TMemoryStream что она не пуста и очистить её.
Программа получает рабочий стол и пересылает его клиенту.
Не знаю почему но конец пересылаемого файла иногда не доходит и при следующем запросе необходимо очищать переменную с проверкой что она не пуста.
Что посотоветуете программеры... мучаюсь уже неделю ... буду очень благодарен за помощь


Digitman   (2003-10-22 09:54:00) [1]

Image1.LoadFromStream(FileStream);

где Image1 - указатель на объект TJPEGImage, коль речь идет о потоке данных в формате *.jpg


genek84   (2003-10-22 09:48:00) [2]

Я сохраняю картинку в файл, а можно как нибудь
без
FileStream.SaveToFile("temp_client.jpg");
Image1.Picture.LoadFromFile("temp_client.jpg");
напрямую?


genek84   (2003-10-22 09:45:00) [3]

// Anatoly Podgoretsky
Спасибо, мне кажется это я и искал..


Reindeer Moss Eater   (2003-10-22 09:43:00) [4]

а как проверить

ЧТО?


genek84   (2003-10-22 09:42:00) [5]

привожу код:

try
ProgressBar1.Position := FileStream.Size*100 div Size; // Выводим прогресс закачки файла
if FileStream.Size < Size then
// Если принято байт меньше размера файла, то...
FileStream.Write(frame[1], length(frame));
// Записываем в буфер
if FileStream.Size = Size then
begin
FileStream.Position:=0;
FileStream.SaveToFile("temp_client.jpg");
Image1.Picture.LoadFromFile("temp_client.jpg");
FileStream.Free;
Receive:= false;
ProgressBar1.Position:=0;
end;
except
FileStream.Free;
end;
end;


Anatoly Podgoretsky   (2003-10-22 09:42:00) [6]

genek84 © (22.10.03 09:34) [9]
if assigned(FS) then ...


genek84   (2003-10-22 09:36:00) [7]

"об объекте класса TMemoryStream (который хранит прочитанные в него из файла данные)"


genek84   (2003-10-22 09:34:00) [8]

а как проверить


genek84   (2003-10-22 09:34:00) [9]

а как проверить


Digitman   (2003-10-22 09:32:00) [10]


> в TMemoryStream я помещаю файл и пересылаю его


на здоровье) ... но при чем тут переменная ? ты вообще речь ведешь об объекте класса TMemoryStream (который хранит прочитанные в него из файла данные) или о переменной типа TMemoryStream (которая хранит лишь указатель на объект) ? что "чистить"-то собрался ?

сам объект "очищается" вызовом метода MyMemStrmVar.Clear, переменная же MyMemStrmVar "очищается" прямым присвоением nil либо вызовом ф-ции FreeAndNil(MyMemStrmVar), в ходе работы которой сначала уничтожается объект, на который указывало содержимое переменной MyMemStrmVar, а затем выполняется MyMemStrmVar := nil;


Reindeer Moss Eater   (2003-10-22 09:31:00) [11]

TMemoryStream.Clear


Digitman   (2003-10-22 09:26:00) [12]


> Anatoly Podgoretsky


лавры Железного Птица)


genek84   (2003-10-22 09:26:00) [13]

в TMemoryStream я помещаю файл и пересылаю его, а вопрос-то по TMemoryStream


Anatoly Podgoretsky   (2003-10-22 09:24:00) [14]

Лавры покоя не дают


Digitman   (2003-10-22 09:22:00) [15]


> Как проверить переменную TMemoryStream что она не пуста
> и очистить её.


переменную "очистить" нельзя, можно лишь присвоить ей некое значение


Reindeer Moss Eater   (2003-10-22 09:18:00) [16]

Сначала речь про TMemoryStream, потом про конец какого - то файла ...

Ты не мучайся, ты сосредоточься


Наверх

Титульная страница Поиск, карта сайта Написать письмо