U8门户开发手册(DOC)

上传人:206****923 文档编号:90605201 上传时间:2019-06-13 格式:DOC 页数:26 大小:910.04KB
返回 下载 相关 举报
U8门户开发手册(DOC)_第1页
第1页 / 共26页
U8门户开发手册(DOC)_第2页
第2页 / 共26页
U8门户开发手册(DOC)_第3页
第3页 / 共26页
U8门户开发手册(DOC)_第4页
第4页 / 共26页
U8门户开发手册(DOC)_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《U8门户开发手册(DOC)》由会员分享,可在线阅读,更多相关《U8门户开发手册(DOC)(26页珍藏版)》请在金锄头文库上搜索。

1、U8门户开发手册1. 功能概述如何使伙伴二次开发的程序很好地和U8产品集成在一起?需要满足什么条件的程序才能和门户集成?如何开发一个满足这个条件的程序?本文将为您解答这些问题。2. 名词解释2.1菜单调整工具功能:调整菜单位置;新增、修改、删除菜单(除U8系统菜单外)。菜单调整工具在UAP中,通过菜单“工具菜单调整工具”进入。2.2 idt.dll文件位置:在U8安装目录的Portal目录里。该文件其实是一个xml文件,可以用任何文本编辑器打开。其内容描述了双击每个末级菜单项目时需要调用的物理程序。在872版本里,idt.dll并不在安装盘里,而是U8门户第一次运行时通过UFSystem.UA

2、_IDT表里的内容动态生成的。当UFSystem.UA_IDT有变化时,U8门户会重新生成idt.dll文件。有了这种机制后,菜单调整工具就可以通过维护UFSystem.UA_IDT里的内容,从而达到维护idt.dll的目的。3. 如何开发可与门户集成的VB dll3.1代码修改3.1.1引用工程UFPortalProxyInterface文件位置:U8安装路径PortalUFPortalProxyInterface.dll3.1.2相关代码修改clsProductFacade文件为门户的入口文件,即在idt.dll文件后assembly项所对应的类名。如下所描述的:首先,idt.dll中as

3、sembly属性描述的对应类要实现接口ILoginalbe。比如idt.dll中描述了如下信息:则要在clsProductFacade中实现ILoginable接口。即用代码:Implements UFPortalProxyInterface.ILoginable然后在该接口的实现函数中转发调用原先工程中的Login,CallFunction,Logoff三个方法,具体参见后附的例子。在左树启动一项命令时依次调用Login和CallFunction。在门户退出或在权限管理中结束该产品时调用LogOff。子系统必须自己维护是否已经进行了子系统登录过程,业务系统须维护子系统是否已经登录。Login

4、对象从g_business中通过调用GetVBclsLogin方法获得。各接口含义如下:1、Login接口( Private Function ILoginable_Login() As Boolean ),不管弹出的是模式窗体还是非模式窗体,此接口在成功登录后须返回True,而且要保证登录成功后,第二次调用此接口时也要返回True。只有在登录失败后方可返回False。也就是说此接口返回值的含义是是否已经成功登录子系统。2、LogOff接口( Private Function ILoginable_LogOff() As Boolean ),此接口的含义是执行LogOff过程,如查成功使该子系

5、统牌LogOff状态返回True,否则返回False。也就是说,如果该子统还未登录,则真接返回False就可以了。如果系统处于已经登录的过程,则执行业务组原有所需的LogOff过程,如果执行功能,正确LogOff了子系统,则返回True,否则返回False。如果在实际程序中没有此过程,则直接返回True即可。3、CallFunction接口(Private Function ILoginable_CallFunction() As Boolean)。如果861产品没有子系统登录过程的产品,此值须返回True.4、对于显示模式窗体的产品,如果已经申请了任务,请在模式窗体退出时自已清除任务。实现这

6、三个方法的例子如下:Private Function ILoginable_Login() As BooleanIf g_bLogined = True ThenILoginable_Login = TrueExit FunctionEnd IfIf (Not g_business Is Nothing) And g_bLogined = False) ThenDim oLoginTmp As ObjectSet oLoginTmp = g_business.GetVBclsLogin()Set g_oLogin = oLoginTmpILoginable_Login = Login(oLog

7、inTmp)If (ILoginable_Login = True) Theng_bLogined = TrueEnd IfElseILoginable_Login = Not g_business Is NothingEnd IfEnd FunctionPrivate Function ILoginable_LogOff() As BooleanIf (g_bLogined = True) ThenILoginable_LogOff = LogOff()If (ILoginable_LogOff = True) Then g_bLogined = FalseEnd IfElseILogina

8、ble_LogOff = TrueEnd IfEnd Function3.1.2.1增加Business属性可读可写,且对大小写敏感。此属性维护一个对于此业务工程全局变量,以实现和VB程序和870Portal的交互。参考实现如下:Public Property Get Business() As ObjectSet Business = g_businessEnd PropertyPublic Property Set Business(busVal As Object)Set g_business = busValEnd Property3.1.2.2增加全局变量新建一module文件,并加

9、入如下全局变量:Public g_business As ObjectPublic g_bLogined As Boolean3.1.3三种窗体3.1.3.1修改嵌入Portal的窗体文件原来有MdiExtender控件的窗体要嵌入Portal的窗体修改方法:调用CreateFormEnv方法调用ShowForm方法每个窗体都要有方法ExitForm3.1.3.2修改第一次弹出就是模态的窗体可以直接使用通过采用VB窗体的Form.Show (vbModal)的方式,也调用ShowForm方法来显示此窗体。3.1.3.3由嵌入Portal的窗体弹出的窗体,不作修改,如果是模式窗体,请在此窗体上加

10、入UFFormPartner控件3.1.4 UFToolbar的修改3.1.4.1在Settoolbar之前将g_business传入3.1.4.2在Settoolbar之前设置Tag信息设置微软Toolbar每个Button的Tag信息调用CreatePortalToolbarTag方法设置示例button.Tag = CreatePortalToolbarTag(“ICON_NEW”,”ICOMMON”,”PortalToolbar”) 注意: 严禁创建多次3.1.4.2.1图标人机工程部给出完整的图标,并制定相应文件的命名规格放在%U8SOFT%的icons目录下直接使用图标的文件名(不

11、需扩展名)3.1.4.2.2分组常用(ICOMMON):如打开、保存等编辑(IEDIT):如增行、拷贝单元格等处理(IDEAL):如审核、分单等查询(ISEARCH):如过滤、联查等3.1.4.2.3类型PortalToolbar,目前填入此值即可。3.1.4.3在窗体的Unload事件中加入Set UFToolbar1.Business = Nothing3.1.5中间过程3.1.5.1判断窗体是否打开FormIsOpened3.1.5.2设置并激活某个已经存在的窗体SetFormActive3.1.5.3在显示过程中(窗体已经显示)关闭自身窗体CloseForm3.2常见问题程序已经修改,

12、双击门户节点时没有反应,调用状态进不了VB程序;未正确修改clsProductFacade文件;窗体已经嵌入到Portal中,但Toolbar的相关信息未转移到门户的工具栏上;是否正确设置了每个Button的Tag信息;3.3参考3.3.1 ShowForm显示嵌入Portal的窗体Public Function ShowForm(ByVal obj As Object, ByVal SubID As String, ByVal sKey As String, Optional modalable As Boolean = False, Optional DockToProtal As Boo

13、lean = True, Optional ByVal vfd As Object) As Stringobj: Form对象;SubID: 子产品号;sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一;modalable: 该窗体是否为Model窗口;DockToProtal : 是否要嵌入到Portal中;vfd: 由CreateFormEnv对象的返回对象;3.3.2 CreateFormEnv初始化嵌入Portal的环境Public Function CreateFormEnv(ByVal sKey As String, ByRef formObj As

14、 Object) As VBFormDescriptorsKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一;formObj: Form对象3.3.3 CloseForm关闭一个已经打开的窗体Public Function CloseForm(ByVal sKey As String, ByVal obj As Object)sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一obj: Form对象。3.3.4 FormIsOpened判断某个Key值的窗体是否已经打开Public Function FormIsOpened(ByVa

15、l sKey As String)sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一;3.3.5 CreatePortalToolbarTag创建Toolbar的Tag信息Public Function CreatePortalToolbarTag(Image As String, actionSet As String, toolbarType As String) As StringImage按钮的图片actionSet分组toolbarType分组Toolbar的类型3.3.6 SetFormActive使某个窗口成为当前窗口Public Function SetFormActive(ByVal sKey As String, ByVal o

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号