Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
1-35235
НАИВный панк
2002-07-29 01:49
2002.08.12
как сделать что то типа консольного приложения...


3-35224
masik
2002-07-23 14:30
2002.08.12
For Select (IB) аналог в ?


1-35306
dlK
2002-07-28 18:03
2002.08.12
TPanel.Caption


4-35497
HrUsT
2002-06-04 20:47
2002.08.12
SHFileOperation


3-35142
Loco
2002-07-21 16:02
2002.08.12
SQL




   Наверх