我的MDI子窗口在创建时,必须判断用户是否有权限使用本画面。
这段实现我希望在子窗口的Base里面实现。--------------------------于是我就这样写了:
BaseChildForm.FormCreate()
begin
    inherited;
    setFormID();    // 设置Form的ID号,给权限判断用
end;BaseChildForm.FormShow()
begin
    inherited;    // 根据FormID和权限类型来判断是否有此类型权限
    if(not hasPower(FormID, POWER_OPEN)) 
    begin
        free();    // 没有Open权限就Free
    end;
end;BaseChildForm.FormClose()
begin
    inherited;
    Action := caFree;
end;--------------------------结果:
    出Exception。 
我考虑是:
    Cretae时候不能Free。
    另外:
    我不希望在MDI父窗口中做权限判断,就像这样:
    cform := TChildForm.create();
    if(not cform .hasPower()) {
        cform.free();
    }
    因为感觉不爽,没有面向对象 :)
    而且感觉繁琐各位前辈有什么办法。(我感觉没办法 :( )