博客
关于我
PML调用PDMS内核命令研究
阅读量:794 次
发布时间:2023-03-02

本文共 1197 字,大约阅读时间需要 3 分钟。

一、 概述

本文介绍了通过PMLNET包装PDMS的内核命令,实现PML调用常用的内置Command命令的方法。

二、 实现方法

为实现PML调用PDMS内核命令,我们编写了一个PMLNET的DLL,并开放了一个callback函数给PML。代码如下:
using System;  
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using Aveva.ApplicationFramework;
using Aveva.ApplicationFramework.Presentation;
using Aveva.Pdms.Presentation;
using Aveva.PDMS.PMLNet;
[assembly: PMLNetCallable()]
namespace wttech
{
[PMLNetCallable()]
public class PmlCoreCall
{
[PMLNetCallable()]
public PmlCoreCall() { }
[PMLNetCallable()]
public void Assign(PmlCoreCall that) { }
[PMLNetCallable()]
public void callback(string commandKey)
{
CommandManager.Instance.Commands[commandKey].Execute();
}
}
}``

三、 PML调用实例

以下是一个PML调用内核命令的实例:
```csharp
import 'PmlCoreCall';
handle any;
endhandle;
using namespace 'wttech';
!corecall = object PmlCoreCall();
!corecall.callback('AVEVA.View.WalkTo.DrawList');

PML通过callback函数将Command的key传递给PDMS的内核命令,实现了对WalkTo.DrawList命令的调用。

四、 总结

通过以上实现,可以看出PML通过PMLNET调用C#代码对PDMS进行了扩展,满足了对内核命令的调用需求。

转载自:https://www.cnblogs.com/jevon1982/p/9529116.html

你可能感兴趣的文章
PHP反射机制
查看>>
php取当天的最后一秒_Docker快速搭建PHP开发环境详细教程
查看>>
php取绝对值
查看>>
php各种常用的算法
查看>>
php后台“爬虫”模拟登录第三方系统
查看>>
php后台的在控制器中就可以实现阅读数增加
查看>>
php命令行生成项目结构
查看>>
PHP和MySQL Web开发从新手到高手,第1天-搭建PHP开发环境
查看>>
php商店管理系统,基于PHP的商店管理系统.doc
查看>>
php在liunx系统中设置777权限不起作用解决方法
查看>>
PHP基于openssl实现的非对称加密操作
查看>>
php增删改查封装方法
查看>>
php多条件筛选功能的实现
查看>>
php多线程
查看>>
PHP大数组循环-避免产生Notice或者是Warning
查看>>
PHP大数组过滤元素、修改元素性能分析
查看>>
php如何定义的数位置,php如何实现不借助IDE快速定位行数或者方法定义的文件和位置...
查看>>
PHP如何读取json数据
查看>>
PHP字符串
查看>>
PHP字符串递增
查看>>