导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2019/4/23 9:45:23
标题:
Delphi10.1至10.3中Vcl.Graphics.pas单元的BUG
浏览:1333
加入我的收藏
楼主:
一、问题现象: 1、对有些bmp图像,设计期保存到*.dfm后,再重新打开,就会抛错Stream read error。 2、演示代码:(具体Demo参见附件) procedure TForm19.Button1Click(Sender: TObject); var Stream: TMemoryStream; begin btn.Glyph.LoadFromFile('1.bmp'); //不是所有图片都有问题 Stream := TMemoryStream.Create; try btn.Glyph.SaveToStream(Stream); Stream.Position := 0; btn2.Glyph.LoadFromStream(Stream); //出错 finally Stream.Free; end; end; 二、问题原因: 1、测试环境:Delphi 10.3 With Update 1 2、有问题的单元:Vcl.Graphics.pas,第9227行,条件: if (bmiHeader.biBitCount > 8) and (bmiHeader.biBitCount <= 16) and 需要改为: if (bmiHeader.biBitCount > 8) and //(bmiHeader.biBitCount <= 16) and 三、请各位大咖协助向EMB官方报BUG,本人登上了http://edn.embarcadero.com/ 却不知道怎么报BUG[/捂脸]
----------------------------------------------
-
作者:
2019/4/23 10:22:47
1楼:
顶
----------------------------------------------
-
作者:
2019/4/23 13:50:46
2楼:
奈何你个这1.bmp,连windows 的画图都不能打开它。。。
此帖子包含附件: 大小: 9.2K
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
作者:
2019/4/23 14:18:13
3楼:
前两天 还看到 缓冲区溢出攻击 关于 vcl Graphics 的 xe6 7的补丁。。 链接 http://support.embarcadero.com/article/44015 https://seclists.org/fulldisclosure/2014/Sep/57 好像范围挺大的。。。
----------------------------------------------
[alias] co = clone --recurse-submodules up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/ >http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
2019/4/23 14:26:09
4楼:
测试和2楼一样,是你的图片不正确。
此帖子包含附件: 大小: 44.8K
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw