请问这是不是Delphi6的Bug? 那里有最新Delphi6的补丁下载! (50分)

  • 主题发起人 主题发起人 Jiao_he
  • 开始时间 开始时间
J

Jiao_he

Unregistered / Unconfirmed
GUEST, unregistred user!
当用ActionMainMenuBar做系统菜单时,
我想在菜单做打勾多选的功能(即把TAction的AutoCheck属性设为True),
但实际运行时有问题,菜单状态项只能选择打勾,打勾后就不能改过来了。
如果用原来的MainMenu做,则一点问题都没有!
气死了!
不知是我做的有问题还是Delphi6的问题,各位富翁是否遇到这样问题呢? 请指教!


 
为什么没人说句话呀,
那位用D6的富翁原意帮忙试试呢?
 
你得将Action的AutoCheck设为True才行.不然你就得在Action中自己作处理,请看下面例子.
procedure TForm1.Action1Execute(Sender: TObject);
begin
if Action1.Checked then
begin
ShowMessage('Checked');
Action1.Checked:=False;
end
else begin
ShowMessage('Not Checked');
Action1.Checked:=True;
end;
end;
 
同意zhangkan!
Action处理方式其实很好。
 
to zhangkan
不知你有没有在D6中测试过,
如果你上述程序测试过而且成功的,那我就是我的D6出鬼了!
注意:我是用ActionMainMenuBar和ActionManager来做,如果用原来的MainMenu是没问题的。
请看清我的问题。
 
D6我这没有,所以无法测试!
建议你去 http://buglist.jrsoftware.org/ 看看,那儿有关于Delphi最全的BUG报表!
 
to Jiao_he,应该是BUG,它不是没有起作用,你再将鼠标移到上面去看看?就还原了.
我在D6中试过,点一下之后,它看起来没有还原,但当我再将鼠标移到该菜单上之后,就还原了.
你试试是不是这样?不过,你说打勾,怎么我没找到哪儿打勾呢?
另外,D6有新的补丁包,28M,你装上试试看能不能解决这个问题.Good Luck!
 
请问:那个新的D6补丁哪里有呀?
 
一定要升级DELPHI,地址http://202.96.70.228/cakk/delphi/app/d6_upd1_eng.exe

z9j8-pum4n-c6gzq
rw2-7jw
 
Borland不是说这个补丁1有更大的bug么?建议不要升级。安装了的还建议你删除重装。呵呵。
 
在我的 Delphi6 + SP1 上没有发现此问题,我是用Delphi6自带的ActionManager Demo试的。
记得在未装SP1时也没有问题,请自己试一下Delphi6的Demo。
 
不是BUG,我用D6,没装什么PACK
在报告范例C:/Program Files/Borland/Delphi6/Demos/ActionBands
时没有发现异常。
你可以试试。
 
To rzhao,yhaochuan
用D6的Demo直接测试是没问题,
但是,当你在那Format菜单下自已加几个子菜单,那时自已加的菜单就有问题了。
经测试估计,如果用ActionManager中自带的标准菜单就没问题,但自已加的就不行。
不知你们试的结果是否一样,请告知!
 
我OFFICE这台电脑上没有D6,我想你能否将你加的菜单项和FORMAT菜单下其它菜单项
在属性检视器里面一个一个对属性,看看有没有哪里不一样(土办法)。
老实说ActionManager这些我没有用过,所以没有这方面的解决方法。
 
我的机器上的D6没问题的。代码如下
//Form Source
object Form1: TForm1
Left = 192
Top = 107
Width = 544
Height = 375
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object ActionMainMenuBar1: TActionMainMenuBar
Left = 0
Top = 0
Width = 536
Height = 26
ActionManager = ActionManager1
Caption = 'ActionMainMenuBar1'
Font.Charset = GB2312_CHARSET
Font.Color = clMenuText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
Spacing = 0
end
object ActionToolBar1: TActionToolBar
Left = 0
Top = 26
Width = 536
Height = 29
ActionManager = ActionManager1
AllowHiding = True
Caption = 'ActionToolBar1'
HorzSeparator = True
Orientation = boLeftToRight
PersistentHotKeys = False
Spacing = 0
end
object ActionManager1: TActionManager
ActionBars = <
item
Items = <
item
Items = <
item
Action = Action1
Caption = '&Action1'
end
item
Action = Action2
Caption = 'A&ction2'
end
item
Action = Action3
Caption = 'Act&ion3'
end
item
Action = Action4
Caption = 'Acti&on4'
end
item
Action = EditCut1
ImageIndex = 0
ShortCut = 16472
end>
Caption = '&Edit'
end
item
Items = <
item
Action = RichEditBold1
ImageIndex = 31
ShortCut = 16450
end>
Caption = '&Format'
end>
ActionBar = ActionMainMenuBar1
end
item
ActionBar = ActionToolBar1
end>
Left = 248
Top = 112
object Action1: TAction
AutoCheck = True
Caption = 'Action1'
Checked = True
OnExecute = Action1Execute
end
object Action2: TAction
AutoCheck = True
Caption = 'Action2'
Checked = True
OnExecute = Action1Execute
end
object Action3: TAction
Caption = 'Action3'
Enabled = False
end
object Action4: TAction
Caption = 'Action4'
Enabled = False
end
object Action5: TAction
Caption = 'Action5'
end
object Action6: TAction
Caption = 'Action6'
end
object EditCut1: TEditCut
Category = 'Edit'
Caption = 'Cu&t'
Enabled = False
Hint = 'Cut|Cuts the selection and puts it on the Clipboard'
ImageIndex = 0
ShortCut = 16472
end
object RichEditBold1: TRichEditBold
Category = 'Format'
AutoCheck = True
Caption = '&Bold'
Enabled = False
Hint = 'Bold'
ImageIndex = 31
ShortCut = 16450
end
end
object CustomizeDlg1: TCustomizeDlg
StayOnTop = False
Left = 328
Top = 112
end
end

//Pas Source
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnList, CustomizeDlg, ActnCtrls, ToolWin, ActnMan, ActnMenus,
ExtActns, StdActns;

type
TForm1 = class(TForm)
ActionManager1: TActionManager;
ActionMainMenuBar1: TActionMainMenuBar;
ActionToolBar1: TActionToolBar;
CustomizeDlg1: TCustomizeDlg;
Action1: TAction;
Action2: TAction;
Action3: TAction;
Action4: TAction;
Action5: TAction;
Action6: TAction;
EditCut1: TEditCut;
RichEditBold1: TRichEditBold;
procedure Action1Execute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Action1Execute(Sender: TObject);
begin
//ShowMessage('AAAAAAAAAAAAAAAAAAA');
end;

end.
 
To djdsz
我试了你的代码了,但运行后那两个Edit下的子菜单Action1,Action2同样只能处于被选中的状态,不能恢复呀!
(问题依旧)

如果你这里真的是没问题,那我这里真的见鬼了,
因为我在两台机器上装D6情况都一样的。(win2000 Pro +D6)
 
我的确实没问题,我测试过的。(点击Action1后,Action1的状态会变成相反的状态)
我安装过update pack1的。我回去在自己机器上再测试测试
 
ActionBand Source Fixes (6 total) (Delphi 6.0 only)
到 http://homepages.borland.com/strefethen/
 
新的SP1升级包是修改后的190最新版本
 
多人接受答案了。
 
后退
顶部