Board logo

Subject: cnwizards嵌入ide的一个建议 [Print This Page]

Author: xiong2001    Time: 2005-9-29 12:35     Subject: cnwizards嵌入ide的一个建议

我注意到CnWizards嵌入delphi的IDE后,cnpack菜单不是鼠标指在上面就自动显示下级菜单,而必须用鼠标单击后才行,这样与整个IDE的菜单显示风格不统一。

系统环境:win2000sp4 +d elphi7.1
Author: zjy    Time: 2005-9-29 14:35

奇怪,已经有不少朋友报告在D7下出现这个问题,但是在我们的环境下测试都是正常的。您能否用帮助菜单下的反馈向导生成错误报告帖上来看看?
Author: xiong2001    Time: 2005-9-29 20:42

以下是错误报告

设置:
  OS: Windows 2000 5.0 (Build 2195: Service Pack 4)
  CnWizards: CnWizards_D7.dll Ver: 0.7.8.149_Unstable Build 2005.09.26
  IDE: ideD71 CSS
  ComCtl32: 5.81.4916.400

已安装的专家:
  C:\Program Files\Borland\Delphi7\Bin\EXPTDEMO.DLL = ExptDemo
  C:\Program Files\Borland\Delphi7\addon\DelForEx\DelForEx7.dll = DelForEx7
  C:\Program Files\MSDNExpert\MsdnDelphi70.dll = MSDNExpert
  C:\Program Files\CnPack\CnWizards\CnWizards_D7.dll = CnWizards_D7

已安装的包:
  Borland Database Components = C:\Program Files\Borland\Delphi7\Bin\dcldb70.bpl
  Borland Standard Components = C:\Program Files\Borland\Delphi7\Bin\dclstd70.bpl
  Borland Sample Components = c:\program files\borland\delphi7\Bin\dclsmp70.bpl
  Borland ADO DB Components = c:\program files\borland\delphi7\Bin\dclado70.bpl
  Borland SQL Explorer UI Package = C:\Program Files\Borland\Delphi7\Bin\dbx70.bpl
  (untitled) = c:\program files\borland\delphi7\Projects\Bpl\PY.bpl
  DCPcrypt cryptographic component library v2 BETA 3 = C:\Program Files\Borland\Delphi7\addon\crypt\DCPdelphi6.bpl
  TurboPower LockBox 2.07 Design-time package - VCL60 = c:\program files\borland\delphi7\Projects\Bpl\L207vd70.bpl
  Express Cross Platform Library (VCL Edition) by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressLibrary\Delphi 7\Bin\dclcxLibraryVCLD7.bpl
  ExpressEditors Library 5 (VCL Edition) by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxEditorsVCLD7.bpl
  ExpressExtendedEditors Library 5 (VCL Edition) by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressEditors Library 5\Delphi 7\Bin\dclcxExtEditorsVCLD7.bpl
  Developer Express Forum Library = D:\Program Files\Developer Express Inc\ExpressForumLibrary\Delphi 7\Bin\dcldxForumLibD7.bpl
  Express inplace editors = D:\Program Files\Developer Express Inc\ExpressInplaceEditors\Delphi 7\Bin\dcldxEdtrD7.bpl
  ExpressInspector by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressInspector\Delphi 7\Bin\dcldxInsD7.bpl
  ExpressRTTIInspector by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressInspector\Delphi 7\Bin\dcldxObjInsD7.bpl
  Express Cross Platform PageControl (VCL Edition) by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressPageControl 2\Delphi 7\Bin\dclcxPageControlVCLD7.bpl
  ExpressQuantumGrid 5 (VCL Edition) by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressQuantumGrid 5\Delphi 7\Bin\dclcxGridVCLD7.bpl
  ExpressPrinting System ReportLink for TeeChart by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPSTeeChartD7.bpl
  ExpressPrinting System Cross Platform Library by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPScxCommonD7.bpl
  ExpressPrinting System ReportLinks (Standard) by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPSLnksD7.bpl
  ExpressPrinting System Extended Cross Platform Library by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPScxExtCommonD7.bpl
  ExpressPrinting System ReportLink for ExpressQuantumGrid 5 by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPScxGridLnkD7.bpl
  ExpressPrinting System ContainerProducer for ExpressPageControl 2 by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPScxPCProdD7.bpl
  ExpressPrinting System ReportLink for TeeChart by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPSDBTeeChartD7.bpl
  ExpressPrinting System ReportLink for ExpressInspector by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPSdxInsLnkD7.bpl
  ExpressPrinting System ReportLink for ExpressLayoutControl by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPSdxLCLnkD7.bpl
  ExpressLayout Control by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxLayoutControlD7.bpl
  ExpressPrinting System ReportLink for ExpressRTTIInspector by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxPSdxOILnkD7.bpl
  ExpressPrinting System (core 3.1) by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dcldxPSCoreD7.bpl
  ExpressBars by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressBars 5\Delphi 7\Bin\dcldxBarD7.bpl
  ExpressBars DBNavigator by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressBars 5\Delphi 7\Bin\dcldxBarDBNavD7.bpl
  ExpressBars extended DB items by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressBars 5\Delphi 7\Bin\dcldxBarExtDBItemsD7.bpl
  ExpressBars extended items by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressBars 5\Delphi 7\Bin\dcldxBarExtItemsD7.bpl
  ExpressDocking Library by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressBars 5\Delphi 7\Bin\dcldxDockingD7.bpl
  ExpressLayout Control by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dcldxLayoutControlD7.bpl
  ExpressLayoutControl Adapters for ExpressEditors Library by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxLayoutControldxEditAdaptersD7.bpl
  ExpressLayoutControl Adapters for ExpressEditors Library 5 by Developer Express Inc. = C:\Program Files\Borland\Delphi7\Projects\Bpl\dxLayoutControlcxEditAdaptersD7.bpl
  ExpressNavBar by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressNavBar\Delphi 7\Bin\dcldxNavBarD7.bpl
  ExpressSideBar by Developer Express Inc. = D:\Program Files\Developer Express Inc\ExpressBars 5\Delphi 7\Bin\dcldxsbD7.bpl
  Sunisoft SUIPack = D:\Program Files\Developer Express Inc\ExpressPrinting System\Bin\SUIPackD7.bpl
  Borland BDE DB Components = c:\program files\borland\delphi7\Bin\dclbde70.bpl
  InterBase Data Access Components = c:\program files\borland\delphi7\Bin\DCLIB70.bpl
  TeeChart Components = c:\program files\borland\delphi7\Bin\dcltee70.bpl
  Borland ActionBar Components = c:\program files\borland\delphi7\Bin\dclact70.bpl
  Delphi 1.0 Compatibility Components = c:\program files\borland\delphi7\Bin\dcl31w70.bpl
  Shell Control Property and Component Editors = c:\program files\borland\delphi7\Bin\dclshlctrls70.bpl
  ExpressInspector Extended Rows = D:\Program Files\Developer Express Inc\ExpressInspector\Delphi 7\Bin\dcldxExRwD7.bpl

已安装的 IDE 包:
  (Untitled) = $(DELPHI)\Bin\stride70.bpl
  (Untitled) = $(DELPHI)\Bin\proide70.bpl
  (Untitled) = $(DELPHI)\Bin\delphipro70.bpl
  (Untitled) = $(DELPHI)\Bin\delphide70.bpl
  (Untitled) = $(DELPHI)\Bin\designdgm70.bpl
  (Untitled) = $(DELPHI)\Bin\delphient70.bpl
  (Untitled) = $(DELPHI)\Bin\delphiclxide70.bpl
  (Untitled) = $(DELPHI)\Bin\direct70.bpl
  (Untitled) = $(DELPHI)\Bin\delphivclide70.bpl
  (Untitled) = $(DELPHI)\Bin\MsgInfo70.bpl
  Castalia Core = C:\Program Files\Castalia 3\Castalia7.bpl
  Castalia Delphi Language Interface = C:\Program Files\Castalia 3\CastaliaDelphiIntf7.bpl
  Castalia Auto Save = C:\Program Files\Castalia 3\CastaliaAutoSave7.bpl
  Castalia Clipboard Enhancements = C:\Program Files\Castalia 3\CastaliaClipboard7.bpl
  Castalia Code Templates = C:\Program Files\Castalia 3\CastaliaCodeTemplates7.bpl
  Castalia Error Balloons = C:\Program Files\Castalia 3\CastaliaErrorBalloons7.bpl
  Castalia Form Designer Enhancements = C:\Program Files\Castalia 3\CastaliaFormDesign7.bpl
  Castalia Code Navigation Tools = C:\Program Files\Castalia 3\CastaliaNavTools7.bpl
  Castalia Automated Refactoring Tools = C:\Program Files\Castalia 3\CastaliaRefactoringD7.bpl
  Castalia Project Statistics = C:\Program Files\Castalia 3\CastaliaStats7.bpl
  Castalia Syntax Checking Tools = C:\Program Files\Castalia 3\CastaliaSyntaxCheck7.bpl
  Castalia Structural Highlighting = C:\Program Files\Castalia 3\CastaliaTokenMatch7.bpl
  Castalia Editor Line Numbers = C:\Program Files\Castalia 3\CastaliaLineNumbers7.bpl
  Castalia Flyout Bar = C:\Program Files\Castalia 3\CastaliaFlyout7.bpl

CnPack IDE 专家启用状态:
  1 = CnMessageBoxWizard
  1 = CnComponentSelector
  1 = CnTabOrderWizard
  1 = CnBookmarkWizard
  1 = CnSrcTemplate
  1 = CnEditorWizard
  1 = CnMsdnWizard
  1 = CnPas2HtmlWizard
  1 = CnReplaceWizard
  1 = CnSourceDiffWizard
  1 = CnStatWizard
  1 = CnPrefixWizard
  1 = CnAlignSizeWizard
  1 = CnCorPropWizard
  1 = CnProjectExtWizard
  1 = CnCommentCropperWizard
  1 = CnRepositoryMenuWizard
  1 = CnExplorerWizard
  1 = CnFilesSnapshotWizard
  1 = CnProcListWizard
  1 = CnUsesCleaner
  1 = CnIdeEnhanceMenuWizard
  1 = CnSrcEditorEnhance
  1 = CnFormEnhanceWizard
  1 = CnPaletteEnhanceWizard
  1 = CnCpuWinEnhanceWizard
  1 = CnWinTopRoller
  1 = CnInputHelper
  1 = CnSourceHighlight
  1 = CnDUnitWizard
  1 = CnIniFilerWizard
  1 = CnMemProfWizard

CnPack IDE 专家创建状态:
  0 = TCnMessageBoxWizard
  1 = TCnComponentSelector
  1 = TCnTabOrderWizard
  0 = TCnBookmarkWizard
  1 = TCnSrcTemplate
  1 = TCnEditorWizard
  1 = TCnMsdnWizard
  0 = TCnPas2HtmlWizard
  0 = TCnReplaceWizard
  0 = TCnSourceDiffWizard
  0 = TCnStatWizard
  1 = TCnPrefixWizard
  1 = TCnSrcEditorEnhance
  0 = TCnFormEnhanceWizard
  0 = TCnAlignSizeWizard
  1 = TCnPaletteEnhanceWizard
  1 = TCnCorPropWizard
  1 = TCnProjectExtWizard
  0 = TCnCommentCropperWizard
  0 = TCnCpuWinEnhanceWizard
  0 = TCnRepositoryMenuWizard
  0 = TCnDUnitWizard
  0 = TCnIniFilerWizard
  0 = TCnMemProfWizard
  0 = TCnExplorerWizard
  0 = TCnFilesSnapshotWizard
  0 = TCnWinTopRoller
  1 = TCnInputHelper
  1 = TCnSourceHighlight
  1 = TCnProcListWizard
  1 = TCnUsesCleaner
  0 = TCnIdeEnhanceMenuWizard

CPU:
  # Processors: 1
  Type: Intel 586 model 1 Stepping 3
  Speed: 1692.85 MHz

键盘:
  Type 0: IBM enhanced (101- or 102-key) keyboard with OEM FKeys
  Layout: 美国英语 (us) in KBDUS.DLL

本地化信息:
  Number of Digits: '2'
  Leading Zero: '0'
  List Separators: ','
  Grouping: '3;0'
  Decimal Separator: '.'
  Group Separator: ','
  Monetary Grouping: '3;0'
  Monetary Decimal Separator: '.'
  Monetary Group Separator: ','
Author: zjy    Time: 2005-9-30 08:11

您能否安装一下 GExperts,看看它的菜单是否工作正常?
Author: xiong2001    Time: 2005-9-30 11:25

试验如下
首先,卸载Castalia7。
只有cnpack时,菜单不能自动弹出;
安装gexpert后,gexpert菜单能自动弹出,而且cnpack菜单能自动弹出
卸载gexpert,cnpack菜单不能自动弹出
Author: zjy    Time: 2005-9-30 14:43

多谢您的测试,我们会仔细检查,争取在下个版本中修正。
Author: kendling    Time: 2005-10-1 22:05

其实Borland的ModelMaker Code Explorer也是一样的。
点一个菜单后把鼠标移到MMX菜单也是不会自动弹出的。
Author: shadowstar    Time: 2005-10-7 13:12


这是因为下一级的菜单是通过主菜单响应点击事件生成的。

解决的办法是:
先生成菜单,再插入到IDE中
或者先创建一个空的子菜单(比如"-"),再插入到IDE中,生成菜单的时候删除这个子菜单(好像Delphi2005不删的话不会自动合并"-",其它版本不删也没问题)

我没看过CnWizards的菜单是怎么实现的,不过我想应该是这样的。
做CodeFast的时候遇到这个问题,后来发现ModelMaker同样有这个问题,最后被我解决了,哈哈,好开心。
Author: zjy    Time: 2005-10-9 22:07

多谢 shadowstar 和 kendling 朋友!已经按上面的方法修改,请大家下载最新的 150 版本测试。
Author: lextm    Time: 2005-10-24 12:48     Subject: 可不可以说得详细一点

"或者先创建一个空的子菜单(比如"-"),再插入到IDE中,生成菜单的时候删除这个子菜单(好像Delphi2005不删的话不会自动合并"-",其它版本不删也没问题)"

到底是个什么顺序呀?
Author: lextm    Time: 2005-10-24 12:51

我使用的是C#语言,利用的是.NET OTA,怎么还是有这样的问题呢?真是的Borland!!

希望了解你们怎么做的,我也好修改一下我的咚咚
Author: zjy    Time: 2005-10-24 15:40

这个问题的解决方法应该是:在将菜单项插入到 IDE 主菜单之前,先为菜单项生成下面的子菜单,这样在插入的时候,IDE 就知道新增的菜单项是带下拉的了。
Author: lextm    Time: 2005-10-25 11:19

事实是我必须采用第二种方案(或者以后的那一句),因为在.NET OTA中间,似乎不能先生成整个菜单。我一直用来加菜单的是 IOTAMainMenuService.AddMenuItem 的。不知道有没有别的办法。

不过我的插件如果挂在别的主菜单下面就没有这个问题了。
Author: lextm    Time: 2005-10-27 10:48     Subject: 这一定是BDS OTA的bug

昨天又用Delphi 2005测试了一下,大概是由于我安装了大量别的插件,像GExperts和Castalia,CnPack,所以居然这个问题没有了。什么时候重装系统的时候我再用干净的Delphi 2005试试看。不过C#Builder 1.0肯定有这个问题,因为我测试插件的时候用得是C#Builder 1.0。

不幸的是,C#Builder 1.0的OTA bugs绝不止这样一两个,天哪。




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