Board logo

Subject: 浮动属性编辑器的bug [Print This Page]

Author: fdltc    Time: 2005-9-2 00:56     Subject: 浮动属性编辑器的bug

在窗体控件多于一个的时候,通过ctrl+tab在浮动属性编辑器和窗体之间切换会产生异常

exception message : A component named Memo1 already exists.
main thread ($be4):
4003bbbf rtl70.bpl  Classes  TComponent.ValidateRename
0084dbba vcl70.bpl  Forms    TCustomForm.ValidateRename
4003bca4 rtl70.bpl  Classes  TComponent.SetName
0082fbe9 vcl70.bpl  Controls TControl.SetName
40027106 rtl70.bpl  Typinfo  SetStrProp
400263d7 rtl70.bpl  Typinfo  SetPropValue
0081faae vcl70.bpl  Stdctrls TCustomCombo.EditWndProc
7c92eae0 ntdll.dll           KiUserCallbackDispatcher
77d1daf4 user32.dll          DestroyWindow
00833ddc vcl70.bpl  Controls TWinControl.DestroyWindowHandle
0081f749 vcl70.bpl  Stdctrls TCustomCombo.DestroyWindowHandle
00833da6 vcl70.bpl  Controls TWinControl.DestroyWnd
00820886 vcl70.bpl  Stdctrls TCustomComboBox.DestroyWnd
00833f55 vcl70.bpl  Controls TWinControl.DestroyHandle
00833f8c vcl70.bpl  Controls TWinControl.CMRecreateWnd
00831340 vcl70.bpl  Controls TControl.WndProc
0083452b vcl70.bpl  Controls TWinControl.WndProc
0081ff52 vcl70.bpl  Stdctrls TCustomCombo.WndProc
00821141 vcl70.bpl  Stdctrls TCustomComboBox.WndProc
00831110 vcl70.bpl  Controls TControl.Perform
00833f72 vcl70.bpl  Controls TWinControl.RecreateWnd
0087fabd vcl70.bpl  Appevnts TCustomApplicationEvents.DoIdle
008557d9 vcl70.bpl  Forms    TApplication.Idle
00854def vcl70.bpl  Forms    TApplication.HandleMessage
00855002 vcl70.bpl  Forms    TApplication.Run

另外,希望可以自定义热键,觉得ctrl+tab不是很方便,我比较喜欢ctrl+j,比较好按
Author: zjy    Time: 2005-9-2 08:17     Subject: 多谢报告!

从上面的信息来看,这个异常是由于设计期窗体上的组件重名引起,而不是由于 Ctrl+Tab 切换。是否您的窗体上已经有一个 Memo1,而您又在属性栏上将第二个 Memo.Name 改成 Memo1,从而导致这个错误提示呢?

我在 D5 下测试了一下,窗体上放两个 Memo,Ctrl+Tab 切换是可以正常工作的。

自定义热键的问题,可以考虑。不过由于浮动栏是一个特殊的窗体,普通的热键在上面不起作用,现在这个热键都是手工通过消息处理加上的。
Author: fdltc    Time: 2005-9-2 16:43

无论放置什么控件,只要控件的数目多于一个,就会产生异常。即使一个是button,一个是memo,也会有该异常产生。

我的系统为xp, delphi7, gexpert, cnpack 0.7.8.143, delforexp
Author: zjy    Time: 2005-9-2 16:54

我看到另外一个类似的帖子了:
http://bbs.cnpack.org/viewthread.php?tid=781&fpage=1

可能是 CnWizards 在处理完 Tab 键后又被窗体设计器再次处理导致的,我们会尽快修正。




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