IDL与C#的数据传递方法研究IDLDrawWidget.docVIP

IDL与C#的数据传递方法研究IDLDrawWidget.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IDL与C#的数据传递方法研究IDLDrawWidget

组件使用 新建一C#Windows程序; 添加组件到程序中 将该控件移动到Form上 添加两个按钮,并修改名称 组件初始化 初始化的代码如下, //设置IDL的路径 this.axIDLDrawWidget1.IdlPath = C:\\Program Files\\ITT\\IDL71\\bin\\bin.x86; //初始化标志 int initFlag = this.axIDLDrawWidget1.InitIDL((int)this.Handle); if (initFlag = 0) { MessageBox.Show(IDL初始化失败,请检查!); return; }; //IDL组件 this.axIDLDrawWidget1.CreateDrawWidget(); 功能调用 IDLDrawWidget组件具备IDL命令行的执行功能,即方法ExecuteStr(string strCommand),其中strCommand是命令字符串; 调用IDL的功能形式上有两种,即IDL的pro源码文件和sav文件。二者在调用的时候稍微有些不同。 如果是pro源码文件,需要先编译再调用。 this.axIDLDrawWidget1.ExecuteStr(.compile ); this.axIDLDrawWidget1.ExecuteStr(idlfunction); 如果是sav文件,需要先restore再调用。 this.axIDLDrawWidget1.ExecuteStr(restore idlfunction.sav); this.axIDLDrawWidget1.ExecuteStr(idlfunction); 数据传递 仅仅在上面步骤中,实现了功能的调用是远远不够的,因为在实际处理中肯定要牵涉到数据的传递。这样,怎么快速的实现数据传递是混合编程必须要解决的关键问题之一。 IDLDrawWidget组件具备SetNamedArray、SetNamedData和CopyNamedArray这样的方法进行数组数据的共享。只需要二者具备同样的类型和维数即可进行数据交换,支持的数据类型见表格。 IDL类型 ActiveX类型 IDL_TYPE_BYTE UT_UI1 – unsigned char IDL_TYPE_BYTE VT_I1 - signed char IDL_TYP_INT VT_I2 - signed short IDL_TYP_LONG VT_I4 - signed long IDL_TYP_FLOAT VT_R4 - float IDL_TYP_DOUBLE VT_R8 - double 组件常用方法列表 CopyNamedArray:将IDL下的数组内容copy到组件使用环境中的OLE变量数组; CopyWindow:将IDLDrawWidget组件内显示的内容copy到Windows剪贴板中; CreateDrawWidget:在ActiveX控制操作中创建IDLDrawWidget控件; DoExit:退出ActiveX控件并释放IDL占用的资源; ExecuteStr:执行IDL命令语句字符串; GetNamedData:根据变量名获取IDL下该变量的值; InitIDL: IDL运行环境初始化; InitIDLEx:可传入参数的IDL运行环境初始化; Print:将ActiveX组件中显示的内容输出到默认打印机; RegisterForEvents:IDLDrawWidget组件是否传递程序事件; SetNamedArray:根据指定的名字和内容创建一个IDL下的数组。基本类型见表格。 SetNameData:根据指定的变量名和值创建一个IDL下的变量。 SetOutputWnd:将IDL的输出发送到指定窗口; VariableExists:根据变量名判断IDL下该变量是否存在; 如下面为实现变量和数组交换的功能代码 //初始化定义变量 object objStr =abc; //定义变量 this.axIDLDrawWidget1.SetNamedData(var, objStr); //编译IDL功能代码并传入单个变量 this.axIDLDrawWidget1.ExecuteStr(.compi

文档评论(0)

hello118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档