我使用delphi7.0的时候,用到按钮控件
我在主窗体使用的ActionManager和ToolAction
我在ToolAction里面设置一些按钮比如insert,edit,delete
我现在在另一个单元声明了一个过程checkbtn
在checkbtn也定义了一些insert,edit,delete 按钮为Action变量
然后写入语句,比如:
FOR I := 1 TO LENGTH(STATE) DO
GETSTR[I] := COPY(STATE,I ,1);
end;
if GETSTR[1] = 'Y' then
INSERT.Visible:= True
else
INSERT.Visible := False;
...
如上依次控制 INSERT等按钮的显示或者隐藏状态
然后通过主窗体调用该过程来控制其对应按钮的显示状态
但总是提示错误:'INSERT' might not have been initialized
思考良久,无法得解,希望有能力的朋友予以帮助
谢谢:)
我在主窗体使用的ActionManager和ToolAction
我在ToolAction里面设置一些按钮比如insert,edit,delete
我现在在另一个单元声明了一个过程checkbtn
在checkbtn也定义了一些insert,edit,delete 按钮为Action变量
然后写入语句,比如:
FOR I := 1 TO LENGTH(STATE) DO
GETSTR[I] := COPY(STATE,I ,1);
end;
if GETSTR[1] = 'Y' then
INSERT.Visible:= True
else
INSERT.Visible := False;
...
如上依次控制 INSERT等按钮的显示或者隐藏状态
然后通过主窗体调用该过程来控制其对应按钮的显示状态
但总是提示错误:'INSERT' might not have been initialized
思考良久,无法得解,希望有能力的朋友予以帮助
谢谢:)
然后就会提示 'INSERT' might not have been initialized
这类地址错误一般都是一些窗体或控件在没有create之前就先引用了,楼主自己检查一下吧
2.要在另一个单元中USES MAIN.PAS (主窗体).
回 蜗牛跑步 :因为后一样的结果
不过我CREATE 的里面换成 ToolActionBar 系统编译运行都通过,但无结果
begin
为什么不用现成的而自己创建呢?
把你创建的代码贴出来;
end;
begin
为什么不用现成的而自己创建呢?
把你创建的代码贴出来;
end;
G_VAR代码如下:
procedure _CHECKBTN(STATE:string);
var GETSTR: Array[1..15] of string;
I : INTEGER;
_INSERT : TAction;
_EDIT : TAction;
_QUERY : TAction;
_DELETE: TAction;
_SAVE: TAction;
_PRIVIEW : TAction;
_PRINT: TAction;
_DELL: TAction;
_UNDO: TAction;begin
for I := 1 to LENGTH(STATE) do
GETSTR[I] := COPY(STATE,I ,1);
if GETSTR[1] = 'Y' then
_INSERT.Visible:= True
else
_INSERT.Visible := False; if GETSTR[2] = 'Y' then
_EDIT.Visible := True
else
_EDIT.Visible := False;
if GETSTR[3] = 'Y' then
_QUERY.Visible:= True
else
_QUERY.Visible := False;
if GETSTR[4] = 'Y' then
_DELETE.Visible:= True
else
_DELETE.Visible := False;
if GETSTR[5] = 'Y' then
_SAVE.Visible:= True
else
_SAVE.Visible := False;
if GETSTR[6] = 'Y' then
_PRIVIEW.Visible:= True
else
_PRIVIEW.Visible := False;
if GETSTR[7] = 'Y' then
_PRINT.Visible:= True
else
_PRINT.Visible := False;
if GETSTR[8] = 'Y' then
_DELL.Visible:= True
else
_DELL.Visible := False;
if GETSTR[9] = 'Y' then
_UNDO.Visible:= True
else
_UNDO.Visible := False;END;
做了很多模块,就全部完成了
无法再换了
真的难倒了csdn的高手们了吗
大家能提一些建议也好
谢谢