Я использую Delphi 5 Enterprise, потому что именно для этого была написана программа, с которой я работаю. Я написал процедуру, которая довольно счастливо сохраняет растровые изображения в базе данных Access. Теперь я хочу иметь возможность получать растровые изображения. Сохраняя растровые изображения, я использую SaveToStream. Получая их, я использовал LoadFromStream, но компилятор говорит мне, что он не распознает эту функцию. Код ниже:
procedure TForm1.Button2Click(Sender: TObject);
var
Field : TBlobField;
Stream : TStream;
BMap : TBitMapImage;
begin
if BloBQuery.Active then
begin
Field := TBlobField(BlobQuery.FieldByName('Blob'));
Stream := BlobQuery.CreateBlobStream(Field, bmRead);
BMap := TBitMapImage.Create;
try
Image2.Picture.Graphic := BMap.LoadFromStream(Stream);
finally
BMap.Free;
Stream.Free;
end;
end;
end;
Может кто-нибудь сказать мне, когда LoadFromStream не будет работать? Это кажется странным! Спасибо.
Код, который написал растровое изображение:
procedure TForm1.Button1Click(Sender: TObject);
var
Field : TBlobField;
Stream : TStream;
begin
if (BlobQuery.Active = True) and (Image1.Picture.Graphic <> nil) then begin
BlobQuery.Insert;
Field := TBlobField(BlobQuery.FieldByName('Blob'));
Stream := BlobQuery.CreateBlobStream(Field, bmWrite);
try
Image1.Picture.Graphic.SaveToStream(Stream);
finally
Stream.Free;
BlobQuery.Post;
end;
end;
end;