下面是我发现的一断代码.
很不错!可惜编译时会有异常,而且用DBCtrlGrid运行时也会出现异常!
哪位高人帮忙改进一下,去掉异常.
如何让Tdbimage控件能感知jpeg图片格式?
--------------------------------------------------------------------------------
时间:4/3/2003 10:23:03 PM 来源:易成网络服务公司华源软件开发部 作者:smokingroom
修改TDBImage的源碼. 具體操作如下:
1.找到Delphi6\Source\DBCtrls.pas,將其拷貝至目錄Delphi6\Lib中.
2.打開Delphi6\Lib\DBCtrls.pas,在uses中加入JPEG.
3.修改TDBImage.LoadPicture過程.新代碼如下:
procedure TDBImage.LoadPicture;
var
JPEG:TJPEGImage;
begin
if not FPictureLoaded and (not Assigned(FDataLink.Field) or
FDataLink.Field.IsBlob) then
try
Picture.Assign(FDataLink.Field);
except
JPEG:=TJPEGImage.Create;
try
JPEG.Assign(FDataLink.FField);
Picture.Assign(JPEG);
finally
JPEG.Free;
end;
end;
end;
4.保存,編譯(編譯的話只要在一個程序中放入一個DBImage,運行即可),
修改結果會保存至Delphi6\Lib\DBCtrls.dcu中,
再將Delphi6\Lib\DBCtrls.pas刪除.
5.你已經可以在DBImage中載入BMP,JPEG圖片了,在設計階段載入JPEG圖片會出現異常,
因為修改后的代碼是嘗試以Bitmap格式載入,失敗后再嘗試以JPEG格式載入.但在Exe文件中不會.可以正常使用. ---全文结束---
很不错!可惜编译时会有异常,而且用DBCtrlGrid运行时也会出现异常!
哪位高人帮忙改进一下,去掉异常.
如何让Tdbimage控件能感知jpeg图片格式?
--------------------------------------------------------------------------------
时间:4/3/2003 10:23:03 PM 来源:易成网络服务公司华源软件开发部 作者:smokingroom
修改TDBImage的源碼. 具體操作如下:
1.找到Delphi6\Source\DBCtrls.pas,將其拷貝至目錄Delphi6\Lib中.
2.打開Delphi6\Lib\DBCtrls.pas,在uses中加入JPEG.
3.修改TDBImage.LoadPicture過程.新代碼如下:
procedure TDBImage.LoadPicture;
var
JPEG:TJPEGImage;
begin
if not FPictureLoaded and (not Assigned(FDataLink.Field) or
FDataLink.Field.IsBlob) then
try
Picture.Assign(FDataLink.Field);
except
JPEG:=TJPEGImage.Create;
try
JPEG.Assign(FDataLink.FField);
Picture.Assign(JPEG);
finally
JPEG.Free;
end;
end;
end;
4.保存,編譯(編譯的話只要在一個程序中放入一個DBImage,運行即可),
修改結果會保存至Delphi6\Lib\DBCtrls.dcu中,
再將Delphi6\Lib\DBCtrls.pas刪除.
5.你已經可以在DBImage中載入BMP,JPEG圖片了,在設計階段載入JPEG圖片會出現異常,
因為修改后的代碼是嘗試以Bitmap格式載入,失敗后再嘗試以JPEG格式載入.但在Exe文件中不會.可以正常使用. ---全文结束---
解决方案 »
- 寻找高手ing,大虾路过请留言.......
- 高分请教文件拖放问题:象WINARA一样,将程序窗体中的文件拖到资源管理器中.
- 父亲上午刚做完手术,希望尽快能够康复...
- FastReport打印难题?
- CSDN 终于可以上啦 乐啊 !!!!!散分!!!! 不知道怎么给200分 我发两次贴
- SQL语句,送分
- 高分请教?谁会用vclzip2.22D6控件解压*.eml文件?
- 各位我这样清空数据库中Ole字段?
- 使用Delphi5、VisiBroker 3.3(ADO、CORBA、MIDAS)成功开发过项目的请进(有兴趣的也请进)。
- 请指教怎样才能完成一个程序的自我复制(向病毒那样的)
- 控件数组问题?
- 请问如何调用外部函数
To: Searcher007(搜寻者)
wjsfr(令狐葱)你们没出现问题是因为,你的库中存放的是BMP格式图片
如果改成JPG格式,就会出现上面的问题
是不能生成EXE文件,还是在IDE环境中运行出现异常?
如果能生成EXE文件,直接运行EXE看看怎么样?
var
JPEG:TJPEGImage;
begin
if not FPictureLoaded and (not Assigned(FDataLink.Field) or
FDataLink.Field.IsBlob) then
try
JPEG:=TJPEGImage.Create;
try
JPEG.Assign(FDataLink.FField);
Picture.Assign(JPEG);
finally
JPEG.Free;
end;
except
Picture.Assign(FDataLink.Field);
end;
end;如何改?高手帮帮忙!
生成Exe文件没问题的
如果程序是单个DBImage运行也没问题.但将DBImage放到DBCtrlGrid上就会出现问题
不要出现异常.编译执行会出现异常,生成的exe不会出现异常.但如果将它放在DBCtrlGrid,当库中是Jpg格式的图片,运行就会出错(BMP格式没问题) 出现异常的原因是DBImage先试图加载BMP格式图片,如果不是BMP就加载JPG图片我想能否交换过来,先加载JPG格式图片,出现异常再加载BMP图片,或者直接加载JPG图片(因为我的数据库中放得肯定是JPG格式图片)?
Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????Where r u????