Esempio n. 1
0
 public abstract bool CreateTagFrame(IFrameObj Container, BaseFormHandle CurrFormHandle, CMenuItem mnu, ref UpdateData data, ref string msg);
Esempio n. 2
0
        public bool GetFrameHandle(IFrameObj Container, BaseFormHandle CurrFormHandle, CMenuItem mnu, ref UpdateData data, ref string msg, ref BaseFormHandle retHandle)
        {
            msg = null;
            if (mnu == null)
            {
                return(false);
            }
            if (mnu.LinkValue == null || mnu.LinkValue.Trim().Length == 0)
            {
                msg = "目标为空!";
                return(false);
            }
            Assembly ass = this.GetAssembly();

            if (ass == null)
            {
                msg = "无法获得程序集!";
                return(false);
            }
            string strFrmB = string.Format(mnu.LinkValue, GlobalShare.SystemAppInfo.AssemName) + "B";
            Type   tFrm    = ass.GetType(strFrmB);

            if (mnu.linkType != LinkType.WebPage)
            {
                if (tFrm == null)
                {
                    msg = string.Format("未找到类{0}!", mnu.LinkValue);
                    return(false);
                }
            }
            retHandle = null;
            switch (mnu.linkType)
            {
            case LinkType.WebPage:
            {
                return(CreateWebPage(Container, CurrFormHandle, mnu, ref msg));

                break;
            }

            case LinkType.Form:
            default:
            {
                BaseFormHandle objInst;
                if (mnu.Params == null || mnu.Params.Trim().Length == 0)
                {
                    objInst = Activator.CreateInstance(tFrm, null) as BaseFormHandle;
                }
                else
                {
                    objInst = Activator.CreateInstance(tFrm, mnu.Params) as BaseFormHandle;
                }
                if (objInst == null)
                {
                    msg = "无法建立实例!";
                    return(false);
                }
                objInst.strUid       = mnu.strUid;
                objInst.Title        = mnu.MnuName;
                objInst.Tag          = mnu;
                objInst.GridSource   = mnu.GridSource;
                objInst.DetailSource = mnu.DetailSrouce;
                if (mnu.Module.Trim().Length > 0)
                {
                    objInst.strModule = mnu.Module;
                }
                if (mnu.Screen.Trim().Length > 0)
                {
                    objInst.strScreen = mnu.Screen;
                }
                if (mnu.Target.Trim().Length > 0)
                {
                    objInst.strTarget = mnu.Target;
                }
                objInst.strKey   = mnu.Key;
                objInst.Link     = CurrFormHandle;
                objInst.TranData = mnu.TranDataMapping;
                if (objInst is ITranslateableInterFace && CurrFormHandle is IKeyForm)
                {
                    FillTranData(CurrFormHandle, objInst as ITranslateableInterFace, mnu, ref data);
                }
                if (!this.CreateFrame(Container, CurrFormHandle, mnu, ref data, ref msg))
                {
                    return(false);
                }
                retHandle = objInst;
                break;
            }
            }
            msg = null;
            return(true);
        }
Esempio n. 3
0
 public abstract bool CreateWebPage(IFrameObj Container, BaseFormHandle CurrFormHandle, CMenuItem mnu, ref string msg);