Board logo

Subject: Frames 无法找到 TTntFrame [Print This Page]

Author: gaoyanan    Time: 2008-4-1 11:25     Subject: Frames 无法找到 TTntFrame

如题。
环境:
    DELPHI 7 UP1;
    TntWare UnicodeControls 2.27。
    CnWizards 0.8.2.356、0.8.3.374。
无法找到从TTntFrame继承的框架。
Author: Passion    Time: 2008-4-1 13:09

请问操作步骤?
另外如果不用CnPack专家包是否正常?
Author: gaoyanan    Time: 2008-4-1 14:13

把专家包关闭,可以找到。
我在DELPHI 7 UP1上安装了TntWare UnicodeControls 2.27和  CnWizards 0.8.2.356、0.8.3.374。
然后用TTntFrame自定义一个框架,通过delphi自带的Frames 功能无法找到该框架,如果从TFrame继承,就可以找到。
  TTntFrame = class(TTntCustomFrame)
  TTntCustomFrame = class(TCustomFrame{TNT-ALLOW TCustomFrame})
  TFrame = class(TCustomFrame)

是不是CnWizards 寻找的基类不对呢?
Author: Passion    Time: 2008-4-1 14:38

此处说的“delphi自带的Frames 功能”无法找到,是否是指点击组件板的Frame图标,再在设计器窗体上点击时弹出的对话框中无您需要的Frame?
Author: gaoyanan    Time: 2008-4-1 18:52

是的,就是点击Delphi 7 的 Standard面板第一项“Frames”,然后出现CnWizards 提供的“Frame列表”窗口,但里面没有这个框架。如果禁用CnWizards ,DELPHI自带的“Select frame to insert”窗口,可以找到由TTntFrame继承的框架。

[ 本帖最后由 gaoyanan 于 2008-4-1 18:53 编辑 ]

Image Attachment: [Frame列表] Snap4.gif (2008-4-1 18:52, 11.95 K) / Download count 401
http://bbs.cnpack.org/attachment.php?aid=395



Image Attachment: [工程组窗口列表] Snap1.gif (2008-4-1 18:53, 18.05 K) / Download count 383
http://bbs.cnpack.org/attachment.php?aid=396



Image Attachment: [工程组单元列表] Snap2.gif (2008-4-1 18:53, 21.59 K) / Download count 383
http://bbs.cnpack.org/attachment.php?aid=397



Image Attachment: [待引用单元列表] Snap3.gif (2008-4-1 18:53, 16.86 K) / Download count 373
http://bbs.cnpack.org/attachment.php?aid=398



Image Attachment: [DELPHI自带的“Select frame to insert”窗口] Snap5.gif (2008-4-1 18:53, 5.87 K) / Download count 388
http://bbs.cnpack.org/attachment.php?aid=399


Author: Passion    Time: 2008-4-1 21:26

经过初步检查,可能是tnt的frame的设计期父类不是TFrame所致,能否帮助我们进一步测试它?烦请下载附件中的带调试信息的DLL覆盖原有的CnWizards的DLL,并按照下面这个帖子的内容进行操作并将记录的日志文件发给我们。

操作过程中要包括弹出CnWizards的Frame对话框这一步。

调试记录步骤:

http://bbs.cnpack.org/viewthread.php?tid=291&extra=page%3D1

Attachment: [CnWizards D7 调试dll] CnWizards_D7.rar (2008-4-1 21:26, 1.42 M) / Download count 374
http://bbs.cnpack.org/attachment.php?aid=400
Author: gaoyanan    Time: 2008-4-2 12:32

先上传测试信息

Attachment: TntFrame_Test.rar (2008-4-2 12:32, 11.01 K) / Download count 395
http://bbs.cnpack.org/attachment.php?aid=402
Author: gaoyanan    Time: 2008-4-2 12:51

临时修改方案:
修改 unit CnProjectFramesFrm;
procedure TCnProjectFramesForm.CreateList;

          // todo: 临时修改
          if (IModuleInfo.DesignClass <> SFrameOfForm) and
            (IModuleInfo.DesignClass <> 'TTntFrame')  then
            Continue;

这样可以找到'TTntFrame',不过这应该只是个初期折中方案,马上要驾照考试了,最近要抓紧时间练车,没有时间做测试了,抱歉。希望能看到下一个版本可以修改这个bug.
Author: gaoyanan    Time: 2008-4-2 12:59

修改后的单元代码和编译后的DLL

Attachment: 修改.rar (2008-4-2 12:59, 910.77 K) / Download count 357
http://bbs.cnpack.org/attachment.php?aid=403
Author: Passion    Time: 2008-4-2 14:00

嗯,感谢楼上测试,我的想法也是从这儿入手的。这个问题应该能解决。

下一版本的每日构建版将会加入此修改。楼主也进入了俺们的“有贡献人员名单”。
Author: Passion    Time: 2008-4-8 14:17

0.8.3.376的每日构建版中已经集成此更新。烦请下载测试?
Author: gaoyanan    Time: 2008-4-10 12:58

昨天刚考完桩,跌跌撞撞考满分。
0.8.3.377已测试,问题已经修正。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0