下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省白山市部分学校2025-2026学年高一上学期1月期末英语试卷(含答案)
- 贵州省安顺市2025-2026年高二上地理期末试卷(含答案)
- 广东省肇庆市2025-2026学年高三上学期二模语文试卷(含答案)
- 化工企业罐车知识课件教学
- 助力尼帕病毒检测与疫苗研发义翘神州现货供应G蛋白和Fusion蛋白
- 化工企业员工培训课件
- 飞盘运动科普
- 飞机配送员培训课件教案
- 民用无人机现状、发展趋势及无人机关键技术
- 飞机相关知识课件
- 2026陕西氢能产业发展有限公司所属单位招聘(29人)备考题库附答案
- 特发性肺纤维化个体化治疗中的营养支持策略
- 2026年度黑龙江省生态环境厅所属事业单位公开招聘工作人员57人考试参考试题及答案解析
- (2025年)铁路行车组织培训考试题附答案
- 血液储存和出入库管理制度
- 贵州省贵阳市2024-2025学年高一上学期期末监测物理试卷(含解析)
- 税收说理式执法课件
- 2026年郑州铁路职业技术学院单招职业适应性测试模拟测试卷附答案
- 扬州市广陵区2025年网格员考试题库及答案
- 化工厂安全教育题库试题和答案(教学资料)
- 员工遵守公司规定合规承诺书(3篇)
评论
0/150
提交评论