窗体继承,在那个事件中判断权限
base1_Form是基础窗体,a1_Form,a2_Form.......an_Form等几十个窗体都是从base1_Form继承来的,现在权限也得到了,在base1_Form的哪个事件中判断权限比较好?
1、不想在窗体的外面判断,因为有几十个窗体,一个一个判断太麻烦了。
2、base1_Form的OnCreate()事件中也不能判断,因为窗体还没有产生。
应该在哪个事件中判断呢?
[解决办法]
onshow事件
[解决办法]
就象你说的不能在OnCreate里面判断是一个意思,你在OnShow里面Close,这个时候窗体还没有Show,你Close是不会把窗体关掉的.
[解决办法]
你的方式“在造中常”可以,但C++不建造函出常。而且你在造函中出常,那你必查你的代,在常之前不能有任何的 new 或使用其他源,因造函中出常是不行析函的。
重 AfterConstruction 函,也可以。
限立出,形成一。而不是限放在窗口 Form 中。你什候限都可以。如果限,那就不行造,而不是造後再CLOSE,或在造中常。
以下,明"多使用合,少用承"。什在窗口外部判断好。
Class TFormAuthority
{
public :
bool CheckCanBrowse()
{
if(!FCanBrowse)
ShowMessage("can not browse");
return FCanBrowse;
}
...
};
class TForm1 : public TForm
{ ....
public :
TFormAuthority *FormAuthority ; //指向所限
}
1、多使用合,少用承。限配置更加活。不知道你是否碰到同一Form, 用不同的外部配置,就有不同的限的例子。例如:1、一工管,可以配置只查看某部的人,其他部看不到,部限也分配。2、存操作,不同的人只允操作不同的物料。3、薪系,不同的人只能看到(或操作)不同的薪容。
在情下,可操作容一般使用外部配置(配置方式放在外部文件或SQL中),限的配置就。一般也有多方式,但限立出,你多。如果限死在 Form 中,那就很有限,只有承方式或者"限不易展及不能集中管理"。
2、多使用合,少用承。避免多余的造。限用合方式隔。造前查限,造,再限“注入/拉到”到中。然後再根配置文件及限配置 Form 界面。
3、多使用合,少用承。的聚性更好,每注於自己的功能而不用多考其他功能,有利於速度及功能展。
。。。。。。
[解决办法]
哈哈,如果按照C++的建议的话,让一切东西都成为对象,根本就不用担心析构的问题啦:)
对于授权问题,正常情况下是不会有问题的,当有问题时,我们就可以认为这是异常啦:)