Форум: "Система";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];
ВнизПроблема с TMemoryStream Найти похожие ветки
← →
genek84 (2003-10-22 09:14) [0]Как проверить переменную TMemoryStream что она не пуста и очистить её.
Программа получает рабочий стол и пересылает его клиенту.
Не знаю почему но конец пересылаемого файла иногда не доходит и при следующем запросе необходимо очищать переменную с проверкой что она не пуста.
Что посотоветуете программеры... мучаюсь уже неделю ... буду очень благодарен за помощь
← →
Reindeer Moss Eater (2003-10-22 09:18) [1]Сначала речь про TMemoryStream, потом про конец какого - то файла ...
Ты не мучайся, ты сосредоточься
← →
Digitman (2003-10-22 09:22) [2]
> Как проверить переменную TMemoryStream что она не пуста
> и очистить её.
переменную "очистить" нельзя, можно лишь присвоить ей некое значение
← →
Anatoly Podgoretsky (2003-10-22 09:24) [3]Лавры покоя не дают
← →
Digitman (2003-10-22 09:26) [4]
> Anatoly Podgoretsky
лавры Железного Птица)
← →
genek84 (2003-10-22 09:26) [5]в TMemoryStream я помещаю файл и пересылаю его, а вопрос-то по TMemoryStream
← →
Reindeer Moss Eater (2003-10-22 09:31) [6]TMemoryStream.Clear
← →
Digitman (2003-10-22 09:32) [7]
> в TMemoryStream я помещаю файл и пересылаю его
на здоровье) ... но при чем тут переменная ? ты вообще речь ведешь об объекте класса TMemoryStream (который хранит прочитанные в него из файла данные) или о переменной типа TMemoryStream (которая хранит лишь указатель на объект) ? что "чистить"-то собрался ?
сам объект "очищается" вызовом метода MyMemStrmVar.Clear, переменная же MyMemStrmVar "очищается" прямым присвоением nil либо вызовом ф-ции FreeAndNil(MyMemStrmVar), в ходе работы которой сначала уничтожается объект, на который указывало содержимое переменной MyMemStrmVar, а затем выполняется MyMemStrmVar := nil;
← →
genek84 (2003-10-22 09:34) [8]а как проверить
← →
genek84 (2003-10-22 09:34) [9]а как проверить
← →
genek84 (2003-10-22 09:36) [10]"об объекте класса TMemoryStream (который хранит прочитанные в него из файла данные)"
← →
genek84 (2003-10-22 09:42) [11]привожу код:
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) [12]genek84 © (22.10.03 09:34) [9]
if assigned(FS) then ...
← →
Reindeer Moss Eater (2003-10-22 09:43) [13]а как проверить
ЧТО?
← →
genek84 (2003-10-22 09:45) [14]// Anatoly Podgoretsky
Спасибо, мне кажется это я и искал..
← →
genek84 (2003-10-22 09:48) [15]Я сохраняю картинку в файл, а можно как нибудь
без
FileStream.SaveToFile("temp_client.jpg");
Image1.Picture.LoadFromFile("temp_client.jpg");
напрямую?
← →
Digitman (2003-10-22 09:54) [16]Image1.LoadFromStream(FileStream);
где Image1 - указатель на объект TJPEGImage, коль речь идет о потоке данных в формате *.jpg
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c