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();
|
|