下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 组件使用新建一C#Windows程序;添加组件到程序中将该控件移动到Form上添加两个按钮,并修改名称2. 组件初始化初始化的代码如下,/设置IDL的路径 this.axIDLDrawWidget1.IdlPath = "C:Program FilesITTIDL71binbin.x86" /初始化标志 int initFlag = this.axIDLDrawWidget1.InitIDL(int)this.Handle); if (initFlag <= 0) MessageBox.Show("IDL初始化失败,请检查!"); retur
2、n; ;/IDL组件 this.axIDLDrawWidget1.CreateDrawWidget();3. 功能调用IDLDrawWidget组件具备IDL命令行的执行功能,即方法ExecuteStr(string strCommand),其中strCommand是命令字符串;调用IDL的功能形式上有两种,即IDL的pro源码文件和sav文件。二者在调用的时候稍微有些不同。如果是pro源码文件,需要先编译再调用。this.axIDLDrawWidget1.ExecuteStr(".compile ''"); this.axID
3、LDrawWidget1.ExecuteStr("idlfunction"); 如果是sav文件,需要先restore再调用。this.axIDLDrawWidget1.ExecuteStr("restore 'idlfunction.sav'"); this.axIDLDrawWidget1.ExecuteStr("idlfunction"); 4. 数据传递仅仅在上面步骤中,实现了功能的调用是远远不够的,因为在实际处理中肯定要牵涉到数据的传递。这样,怎么快速的实现数据传递是混合编程必须要解决的关键问题之一。IDLD
4、rawWidget组件具备SetNamedArray、SetNamedData和CopyNamedArray这样的方法进行数组数据的共享。只需要二者具备同样的类型和维数即可进行数据交换,支持的数据类型见表格。IDL类型ActiveX类型IDL_TYPE_BYTEUT_UI1 unsigned charIDL_TYPE_BYTEVT_I1 - signed charIDL_TYP_INT VT_I2 - signed shortIDL_TYP_LONG VT_I4 - signed longIDL_TYP_FLOAT VT_R4 - floatIDL_TYP_DOUBLE VT_R8 - dou
5、ble组件常用方法列表CopyNamedArray:将IDL下的数组内容copy到组件使用环境中的OLE变量数组;CopyWindow:将IDLDrawWidget组件内显示的内容copy到Windows剪贴板中;CreateDrawWidget:在ActiveX控制操作中创建IDLDrawWidget控件;DoExit:退出ActiveX控件并释放IDL占用的资源;ExecuteStr:执行IDL命令语句字符串;GetNamedData:根据变量名获取IDL下该变量的值;InitIDL: IDL运行环境初始化;InitIDLEx:可传入参数的IDL运行环境初始化;Print:将ActiveX
6、组件中显示的内容输出到默认打印机;RegisterForEvents:IDLDrawWidget组件是否传递程序事件;SetNamedArray:根据指定的名字和内容创建一个IDL下的数组。基本类型见表格。SetNameData:根据指定的变量名和值创建一个IDL下的变量。SetOutputWnd:将IDL的输出发送到指定窗口;VariableExists:根据变量名判断IDL下该变量是否存在;如下面为实现变量和数组交换的功能代码/初始化定义变量 object objStr ="abc" /定义变量 this.axIDLDrawWidget1.SetNamedData(&q
7、uot;var", objStr); /编译IDL功能代码并传入单个变量 this.axIDLDrawWidget1.ExecuteStr(".compile 'exchangeV'"); this.axIDLDrawWidget1.ExecuteStr("exchangeVar, var = var"); /将IDL中修改过的变量获得并对话框显示 objStr = this.axIDLDrawWidget1.GetNamedData("var"); /定义数组 int, dataarr = ne
8、w int3, 2 6, 4 , 12, 9 , 18, 4 ; /将数组内容copy到IDL下的变量arr中 this.axIDLDrawWidget1.SetNamedArray("arr",dataarr,true); /编译IDL功能代码并传入数组 this.axIDLDrawWidget1.ExecuteStr(".compile 'exchangeA'"); this.axIDLDrawWidget1.ExecuteStr("exchangeArr, arr = arr"); /获取IDL中修改过的数组 objStr = this.axIDLDrawWidget1.CopyName
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年法律援助受理指派流程考核押题卷及答案
- 2026氢能源存储与运输技术行业现状关键技术发展分析研究报告
- 2026年汽车后市场服务创新与消费趋势报告
- 2026年生物科技研发进展及产业化趋势报告
- 2026里约热内卢房地产开发产业市场供需调研及投资规划报告
- 2026年农业现代化行业报告:智能农业、农产品电商、产业链升级
- 2026年新能源汽车行业深度分析与市场品牌化转型报告
- 2026年汽车行业碳交易实操手册报告
- 2026年物联网行业深度报告:市场规模与投资前景
- 2026年口腔门诊护理笔试题库含答案基础题
- 消防工程竣工验收评估报告
- 自考00688设计概论高频考点重点
- 2026年部编版新教材道德与法治五年级上册第一单元检测题(含答案)
- 口腔诊所诊疗服务规范
- Unit 2 My feelings(单元自测基础卷)A4版英语人教PEP版五年级上册2026秋
- 第9课《谈骨气》课件
- 2025年行政检察业务竞赛真题及答案
- 荷马史诗《奥德赛》:英雄的归乡与人性的光辉
- 广东省医师变更执业注册申请审核表
- 直播间话术顺口溜词语大全
- 艾灸护理创新技术应用
评论
0/150
提交评论