Форум: "Основная";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];
ВнизTStreame: глюк или ошибка? Найти похожие ветки
← →
msalex (2002-07-29 22:46) [0]Почему у меня не получается выгрузить файл из потока процедурой
free.
procedure TForm1.Button1Click(Sender: TObject);
var
ZStm:TStream;
FileName: string[255];
Bitmap: TBitmap;
begin
try
ZStm:= TFileStream.Create("C:\test.bmp",fmOpenWrite,fmShareDenyWrite);
FileName:="Component";
Bitmap:= TBitmap.Create;
Bitmap.LoadFromFile("C:\Alex\bitmap.bmp");
Bitmap.SaveToStream(Zstm);
ZStm.WriteBuffer(FileName,sizeof(FileName));
FileName:="world";
ZStm.WriteBuffer(FileName,sizeof(FileName));
//ZStm.CopyFrom(MStm,MStm.Size);
except
Bitmap.Free;
ZStm.Free;
end;
end;
← →
Юрий Зотов (2002-07-30 00:59) [1]http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1027862770&n=0
← →
Sergey Zholob (2002-07-31 13:52) [2]Вот исправленный кусок твоего кода
var
ZStm:TStream;
FileName: string[255];
Bitmap: TBitmap;
begin
try
ZStm:= TFileStream.Create("C:\test.bmp", fmOpenWrite or fmShareDenyWrite);
FileName:="Component";
Bitmap:= TBitmap.Create;
Bitmap.LoadFromFile("C:\Alex\bitmap.bmp");
Bitmap.SaveToStream(Zstm);
ZStm.WriteBuffer(FileName,sizeof(FileName));
FileName:="world";
ZStm.WriteBuffer(FileName,sizeof(FileName));
//ZStm.CopyFrom(MStm,MStm.Size);
finally
Bitmap.Free;
ZStm.Free;
end;
end;
Ошибки:
1.Пропущен оператор OR в вызове TFileStream.Create;
Если у тебя файл "C:\test.bmp" не существует, то в первом вызове надо ставить fmCreatе (так надежнее), иначе fmOpenWrite (читай справку).
2.Вместо директивы "finally" стоит "except". А поскольку исключительной ситуации при нормальной работе не происходит, то управление в эту часть программы, конечно, не передается.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c