记录学习使用stylecontrols5.8控件的几个坑

欢迎加入全网最大Delphi 技术交流群 682628230

坑1:

TscListView控件的Bug:当OtherView.ViewStyle:=vsTile后会产生异常,经跟踪代码,是有一处integer溢出导致,具体也不知道是在哪个环节出的问题,加了几行判断代码修正后,不异常了,不知道会不会有什么问题:

代码如下:在scControls单元的这个方法内:

procedure TscCustomListView.HookAdvancedCustomDrawItem(Sender: TCustomListView; Item: TListItem;
        State: TCustomDrawState; Stage: TCustomDrawStage; var DefaultDraw: Boolean);

20250306141644372-image

坑2:

使用scDBImage显示数据库图片,

当DBImageZhaoPian.Picture.LoadFromFile(opd.FileName);

//或者 TBlobField(dm.FDQPerson.FieldByName(‘照片’)).LoadFromStream(ms);

//或TBlobField(dm.FDQPerson.FieldByName(‘照片’)).LoadFromfile(filename);

之后,scdbimage能显示图片,当执行FDquery.post之后问题来了:

如果图片是png,bmp,能正确保存到数据库,如果图片类型是jpg,则会被清空而不产生异常,数据库内容成了NUll。

我将scDBimage换成DBimage或DBimageEh之后,问题解决。

(就因为这个问题,我找了一整天的原因,从数据库结构设计到数据库连接、到数据集FDquery,再到数据字段类型,load图片方法全试了几遍,最后才发现是控件的问题。) 

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享