PARADOX表中的JPeg图象存储问题,savetostream也仍然出现"bitmap invalid type"错误。(50分)

  • 主题发起人 主题发起人 xygz
  • 开始时间 开始时间
X

xygz

Unregistered / Unconfirmed
GUEST, unregistred user!
这样也不行
table1.edit;
TBlobField(table1.Fields[0]).LoadFromfile('image1.jpeg');
table1.post;
 
输入jpeg检索可以查出来好多,你这个是重复问题,我不想贴出代码了,不好意思哦
 
但我总是出现invalid type 的错误信息,而且我希望保存为JPEG格式的。(BMP格
式的就没有问题)。
 
你可能将Dbimage控件与Blob字段相连,删掉Dbimage!
 
PARADOX表不能保存JPG图像
只能保存bmp的
除非你用流的方式转换一下
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=586673
 
PARADOX表不能保存JPG图像,只能用流的方式 ,下面的两段程序分别是表T1的BEFORPOST和
AFTETSCROLL两个事件中添加代码!我是用流的方式!!
procedure Txkfm.t1BeforePost(DataSet: TDataSet);
var myjpg: tjpegimage;
MS: TMemoryStream;
begin
t1.FieldByName('txm').AsString:='*'+t1.fieldbyname('bh').AsString+'*';
if trim(image1.Picture.GetNamePath)<>'' then
begin
myjpg:=tjpegimage.Create;
ms:=tmemorystream.Create;
try
begin
myjpg.Assign(image1.Picture.Graphic);
myjpg.SaveToStream(MS);
MS.Position:=0;
if not(t1.State in [dsedit,dsinsert]) then
t1.Edit;
TBlobField(T1.FieldbyName('zp')).LoadFromStream(MS);
end;
except
application.MessageBox('非照片文件','错误',mb_ok);
ms.Free;
abort;
end;
end;
myjpg.Free;
ms.Free;
end;
procedure Txkfm.t1AfterScroll(DataSet: TDataSet);
var MS: TMemoryStream;
myjpg: tjpegimage;
begin
image1.Picture.Bitmap.FreeImage;
if not t1.FieldByName('zp').IsNull then
begin
myjpg:=tjpegimage.Create;
ms:=tmemorystream.Create;
try
begin
TBlobField(T1.FieldbyName('zp')).savetoStream(MS);
ms.Position:=0;
myjpg.LoadFromStream(ms);
image1.Picture.Assign(myjpg);
myjpg.Free;
ms.Free;
end;
except
application.MessageBox('非照片文件','错误',mb_ok);
myjpg.Free;
ms.Free;
abort;
end;
end;
end;
 
我自己解决了。
 
后退
顶部