farhad110
چهارشنبه 10 بهمن 1386, 09:25 صبح
سلام. برای نمایش عکس به مشکل برخوردم
دیتابیس sql server
نوع فیلد عکس image
کد زیر رو در رویداد datachange ، برای نمایش عکس در یک Timage نوشتم:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
var
BlobStream: TStream;
JPEGImage: TJPegImage;
Ext: string;
begin
if (Field = nil) or (Field = ADOTable1pic) then begin
if ADOTable1ext.AsString <> '' then begin
BlobStream := ADOTable1.CreateBlobStream(ADOTable1pic,bmRead);
try
Ext := UpperCase(ADOTable1ext.AsString);
if Ext = '.BMP' then
Image1.Picture.Bitmap.LoadFromStream(BlobStream)
else if Ext = '.JPG' then begin
JPEGImage := TJPEGImage.Create;
try
JPEGImage.LoadFromStream(BlobStream);
Image1.Picture.Assign(JPEGImage);
finally
JPEGImage.Free;
end;
end;
finally
BlobStream.Free;
end;
end else
Image1.Picture := nil;
end;
end;
اما زمان اجرا با error زیر روبرو میشم:
http://i27.tinypic.com/2zsve5k.jpg
لطفا راهنمایی کنید.
تشکر
دیتابیس sql server
نوع فیلد عکس image
کد زیر رو در رویداد datachange ، برای نمایش عکس در یک Timage نوشتم:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
var
BlobStream: TStream;
JPEGImage: TJPegImage;
Ext: string;
begin
if (Field = nil) or (Field = ADOTable1pic) then begin
if ADOTable1ext.AsString <> '' then begin
BlobStream := ADOTable1.CreateBlobStream(ADOTable1pic,bmRead);
try
Ext := UpperCase(ADOTable1ext.AsString);
if Ext = '.BMP' then
Image1.Picture.Bitmap.LoadFromStream(BlobStream)
else if Ext = '.JPG' then begin
JPEGImage := TJPEGImage.Create;
try
JPEGImage.LoadFromStream(BlobStream);
Image1.Picture.Assign(JPEGImage);
finally
JPEGImage.Free;
end;
end;
finally
BlobStream.Free;
end;
end else
Image1.Picture := nil;
end;
end;
اما زمان اجرا با error زیر روبرو میشم:
http://i27.tinypic.com/2zsve5k.jpg
لطفا راهنمایی کنید.
تشکر