关于MID窗口的问题?(50分)

S

songmag

Unregistered / Unconfirmed
GUEST, unregistred user!
共三个窗口,第一个为登陆窗口,第二个为主窗口,第三个为子窗口。
运行时,从第一个窗口创建第二个窗口,第一个窗口隐藏。
从第二个窗口创建第三个窗口,但此时系统报错,无法建立,不能找到MID窗口。
第三个窗口默认第一个窗口为其MID窗口,如何才能指定窗口三MID主窗口呢?
帮帮忙!!!
 
设置AutoCreatForms属性为False;
-------------------------------手动创建:
窗口一:= T窗口一.Create(Application);
窗口一.ShowModal;
Application.CreateForm(T窗口二 ,窗口二);
 
你可以在主窗口的FormCreate方法中创建登陆窗口,如登陆成功则可以
释放掉登陆窗口,如不成功则终止程序(Application.Terminate),然后
你再创建第三个窗口,此时就不会出错。
 
登录窗口可放在主窗口的 OnCreate 中显示。
这样可以简化流程。
 
这样做有如下问题:
程序在一个窗口中可通过菜单中一项名字设置其enable,
其中菜单名字为字符串形式,在我的程序中菜单项名字是从数据库中查处。
用以使不同用户登陆设置权限(菜单中某些项不可用)
我使用方法:菜单中一项 name:a1.
程序中a1是从数据库中查处,设为字符串b1
var b1:string;
begin
b1:=’a1’;//a1为菜单名
(FindComponent(b1) as TMenuItem).Enabled:=true;
end;
运行后,菜单中name=a1的项从不可用变为可用。成功
但我要从另一个窗口中这样做却不行,如作一个登陆窗口,
由于涉及到主窗口是mdi,所以登陆窗口在主窗口create中创建,
所以不能在主窗口create中设置菜单(设置要从登陆窗口中读用户名),
我想在登陆窗口中设置主窗口菜单。无法使用:
(FindComponent(b1) as TMenuItem).Enabled:=true;
求助高手帮忙!!!
 
顶部