CnPack Forum » CnPack IDE 专家包(CnWizards) » CnPack源代码比较的TOpenDialog文件过滤设置有小问题


2017-3-26 11:21 yinsim
CnPack源代码比较的TOpenDialog文件过滤设置有小问题

[CnSourceDiffFrm.pas]

procedure TCnSourceDiffForm.actOpen2Execute(Sender: TObject);
begin
  OpenDialog2.Filter := OpenDialog1.Filter;
  OpenDialog2.FilterIndex := OpenDialog2.FilterIndex;

---------省略----------
end;

这里的本意是在打开了文件1以后,打开文件2之前自动套用之前选择的文件类型,
OpenDialog2.FilterIndex := OpenDialog2.FilterIndex;
应该是
OpenDialog2.FilterIndex := OpenDialog1.FilterIndex;

虽然是小问题,不过还是希望修复下.谢谢!


另外,在使用FixInsight测试CnWizards的时候, FixInsight报告:

[CnWizNotifier.pas]的下面这个过程有可疑的Free调用.这里本意是不是要Free掉AComponent啊?
没有仔细看过源码,不了解.

procedure TCnWizCompNotifyObj.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited;
  if (AComponent = Component) and (Operation = opRemove) then
    Free;
end;

2017-3-27 14:38 Passion
感谢报告,我看一下。

2017-3-27 16:13 Passion
第一个问题是我们手误,感谢指出,否则我们自己估计打死都看不出来。:lol

第二个问题,我们看了一下,代码是符合我们的需求的。这个组件本身是另外一个主组件的附属通知器对象,主组件释放时,它自己的确也得释放掉。也就是说,NotifyObj 关联的对象被 Free 的时候,这个 Obj 自身也自动 Free,并自动从所属的ComponentList 里面 Remove。

2017-3-29 20:47 yinsim
老刘辛苦了,这么多年都坚持,而且有求必应:lol:

2017-3-30 13:50 Passion
:handshake

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.