您的位置:首页 > 其它

不能说的秘密-Tribon未公开的COM接…

2017-01-24 20:12 211 查看
Tribon有很多COM接口,但是除了数据抽取、工程拷贝、打印之外的COM都没有在Tribon文档中提及,成为了“不能说的秘密”。但是有些COM即便没有文档,通过简单的尝试也能清楚如何使用。下面就介绍两个比较有用,或者说我知道怎么用的COM。在Visual Studio 2010中添加引用COM选项卡能够看到以TB开头的COM基本上都是Tribon提供的。我介绍的是tbprojectselect和tbruntime,望文生义就知道是工程选择和运行时。





tbruntime比较简单,里面有个TBEnvironment类,可以通过get_Variable方法获得Tribon环境变量,例如下面一段C#代码就是提取SB_PYTHON环境变量的值:

using TBRUNTIMELib;

TBEnvironment env = new
TBEnvironment();

string value =
env.get_Variable(“SB_PYTHON”);

tbprojectselect相对复杂一些,结合tbruntime可以写出完美的Tribon工程选择程序。Tribon工程选择后,会在本地Tribon安装路径Config文件夹下生成一个tbenvtable.sbd文件,该文件保存了所有当前工程的Tribon环境变量,其中_#INT#_PROJECTGROUP,_#INT#_PROJECT,SB_SUBPROJ三个变量保存了当前工程的组、工程和子工程,例如Tribon默认提供的本地工程三个值分别为:

Key

Value

_#INT#_PROJECTGROUP

Local projects

_#INT#_PROJECT

M3sp

SB_SUBPROJ

null

因为本地工程没有子工程,所以SB_SUBPROJ为空。

如果工程选择已经完成,可以读取上述三个变量来获取工程信息。若要调用工程选择,或者自动选择工程,就需要tbprojectselect里面的TBProjSelectClass了,下面的C#代码展示了如何用程序自动选择工程:

using
TBPROJECTSELECTLib;

TBProjSelectClass proj = new
TBProjSelectClass();

proj.SelectProjectBatch(string projGroup, string Project,
string SubProject);

tbprojectselect里面还有一个TBPSOptions类,是用来指定Tribon服务器的,就是Project Selection中Options里面设置的项。如果您所处的环境有多个不同的Tribon服务器,这个功能非常有用。

使用COM的好处是能够在Tribon模块环境之外操作Tribon,很多程序是通过调用exe或者分析文件来实现选工程和获取Tribon环境变量的,比较起来COM更专业一些。

我封装了Tribon的这两个COM并扩展了一些常用变量的提取,增加了Batch Vitesse的C#实现。最终生成一个dll文件叫做TBMod.dll,通过引用该文件可在.net平台上操作Tribon了。源代码也是开放的,并且带有单元测试,测试用例是Tribon本地工程,我在Visual Studio 2010上测试通过。TBMod.dll在Debug下。

TBMod源代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: