金蝶给我们提供一个可以扩展ui类的方法,就是我们可以建一个后缀为CTEx或者PIEx的类,继承原来的UI类,扩展就会自动先运行我们的扩展类,从而达到功能扩展的目的,下面对该方法进行一个代码分析:
我们在框架里面是通过UIFactory.create来生成IUIWindow 接口的实现,所以我们直接跟踪到一个具体的UIFactory里面去,
例如:UIModelDialogFactory
我们发现在create方法里面又如下代码:IUIObject uiObject = UIFactoryHelper.initUIObject(name, uiContext, dataObjects, oprt);
这个代码就是初始化ui界面类的,再跟踪下去,就可以发现如下代码:
uiObject = AbstractUIFactory.createUIObjectNoInit(name);
再跟踪下去就发现如下代码,一切玄机就在下面,框架会先加载CTEx为后缀的类,如果找不到就加载PIEx的类,如果再找不到才加载原来的类。。
public static IUIObject createUIObjectNoInit(String name)
throws UIException
{
try
{
Class c = null;
try
{
c = Class.forName(name + "CTEx", false, (com.kingdee.bos.ui.face.AbstractUIFactory.class).getClassLoader());
}
catch(ClassNotFoundException ex)
{
try
{
c = Class.forName(name + "PIEx", false, (com.kingdee.bos.ui.face.AbstractUIFactory.class).getClassLoader());
}
catch(ClassNotFoundException _)
{
c = Class.forName(name);
}
}
IUIObject uiObj = (IUIObject)c.newInstance();
return uiObj;
}
catch(Exception e)
{
throw new UIException("Can not create ui object!", e);
}
}
分享到:
相关推荐
金蝶EAS(Enterprise Application Suite)是金蝶软件推出的一套企业级应用软件,其中BOS(Business Operating System)是金蝶EAS中的一个核心组件,负责应用的开发和定制。BOS开发中会使用到许多特定的类来帮助...
为了解决这些问题,金蝶公司内部总结了金蝶BOS开发过程中常见的一些问题以及相应的处理方法,并发布了这份《金蝶BOS常见问题集锦》。该文档不仅提供了知识点的解答,还包含问题分析,目的是帮助用户更好地理解和掌握...
金蝶K3BOS插件开发是针对金蝶企业级管理软件进行个性化定制与扩展的一种技术手段。K3BOS,即Kingdee Business Operating System,是金蝶公司提供的一款业务操作平台,它允许用户根据自身企业的业务需求进行灵活的...
### 金蝶EAS BOS开发学习笔记:制作第一个列表查询界面 #### 一、环境准备与基础配置 1. **透视图与视图的开启**:为了方便后续的开发工作,首先确保所需的透视图和视图处于打开状态。这包括但不限于BOS透视图下的...
金蝶K3BOS 12.0使用手册。学习工作两相宜。
这个项目的标题和描述提及了"Kingdee.BOS.WebApi.Client.dll",这是一个与金蝶(Kingdee)业务操作平台(BOS)相关的Web API客户端库。问题在于它与流行的JSON序列化库"Newtonsoft.Json"之间存在冲突。 首先,让...
### EAS标准产品在BOS上的二次开发扩展详解 #### 一、引言 金蝶EAS是一款面向大型企业的全面企业管理软件,它基于金蝶BOS(Business Operating System)平台构建,提供了高度灵活的定制与扩展能力。对于企业来说,...
com.kingdee.bos.metadata.code.webui com.kingdee.bos.metadata.compare com.kingdee.bos.metadata.compare.data com.kingdee.bos.metadata.configure com.kingdee.bos.metadata.data ...
由于Kingdee.BOS.WebApi.Client组件使用Newtonsoft.Json V4.0,版本过低。 通过源程序可以将Newtonsoft.Json升级至任意版本(V6.0,V12.0....) 以解决Newtonsoft.json 多版本冲突的问题
在IT行业中,尤其是在企业级应用开发领域,金蝶(Kingdee)是一家知名的软件提供商,其产品广泛应用于财务、供应链、人力资源等企业管理领域。金蝶BOS(Business Operating System)是金蝶开发的一个开放平台,允许...
标题提到的"Kingdee.BOS.WebApi.Client-升级引用的Json版本,解决冲突问题"是一个典型的案例,涉及到金蝶(Kingdee)BOS业务操作系统的Web API客户端,以及Json.NET(Newtonsoft.Json)库的版本升级。 金蝶BOS...
金蝶EAS(KINGDEE ENTERPRISE APPLICATION SUITE)作为金蝶BOS的典型产品,是金蝶软件在2003年发布的第三代企业应用软件套件。 在进行金蝶BOS的开发和实施过程中,开发人员和实施人员可能遇到一系列问题,这些问题...
金蝶云 星空 部署方案 "1.如果桌面快捷没法有了,首先是到开始菜单中找,如果能找到,将...对于一些行业伙伴,如果有自己开发的客户端(如金蝶医liao目前就有试水),也可以借用金蝶云的桌面客户端机制来部署发布的。
该文档记录了金蝶ERP的集成开发平台的常见问题及解决方法,可以更好的优化ERP系统
金蝶接口引用dll。对接金蝶必不可少的资源,很方便实用,省去不少自己写代码的麻烦。建议保留。使用方法: ApiClient client = new ApiClient(“金蝶接口地址”); client.Login(dbid,用户名,密码,2052) client....
这份文档由金蝶软件公司发布,覆盖了从表格到树形结构等多种类型的控件使用方法,适用于金蝶BOS V6.2版本的开发。 #### 二、控件介绍 文档中详细介绍的控件包括但不限于: ##### 1. KDTable (表格) - **控件名称...
金蝶Kingdee KIS是一款专为中小型企业设计的财务管理软件,其数据库主要基于Access,用于存储公司的财务数据,包括凭证、科目、期初余额等关键信息。以下是对这些知识点的详细解释: 1. **凭证表**: - 凭证编号:...
k3cloud dll文件
《BOS开发指南_控件》是一份详尽介绍了金蝶软件(Kingdee Corporation)提供的多种控件使用方法的技术文档。这份文档覆盖了从基本控件到复杂控件的全方位介绍,并提供了丰富的示例和详细的解释,旨在帮助开发者更好...