C#调用IDL(.pro&.sav)主要通过COM_IDL_CONNECT组件。
COM_IDL_CONNECT组件
com_idl_connect组件的位置:安装目录/IDL85/resource/bridges/export/COM;
COM_idl_connect.dll 为32位dll,对应visual studio中debug X86; COM_idl_connect_X86_64.dll 为64位dll,对应visual studio中debug X64。
首先模板选择visual C# 新建windows 窗体应用程序,引用相应版本的dll,如果引用不了,请先用regsvr注册一下dll。具体步骤为:管理员身份打开cmd,cd进入dll所在路径,运行"regsvr32.exe **.dll"。
private void button1_Click(object sender, EventArgs e) { COM_IDL_connect_x86_64Lib.COM_IDL_connect_x86_64 ccom = new COM_IDL_connect_x86_64Lib.COM_IDL_connect_x86_64(); ccom.CreateObject(0,0,0); //调用pro string varint = "c# using idl"; ccom.SetIDLVariable("var", varint); string fircommand = ".compile '" + Application.StartupPath.ToString() + "\\exchangevar.pro'"; ccom.ExecuteString(fircommand); string seccommand = "exchangevar, var = var"; ccom.ExecuteString(seccommand); object objVar = ccom.GetIDLVariable("var"); MessageBox.Show(objVar.ToString()); //调用sav string fircommand2 = "restore,'" + Application.StartupPath.ToString() + "\\test.sav'"; ccom.ExecuteString(fircommand2); string seccommand2 = "test"; ccom.ExecuteString(seccommand2); ccom.DestroyObject(); |
|