前一阵刚学了一下IDL相关,今天整理一下与大家分享。
前两种方式本人亲测可用,5、6也是比较好的方式。
1. idlrt.exe调用sav文件
【特点】
C#程序直接调用sav文件(间接通过idl自带的idlrt.exe)无需下一步封装。方便C#程序中传入参数。(通过ProcessStartInfo.Argument方式传入IDL程序所需参数)
优点:便于传入输入参数
缺点:会显示IDL虚拟机的页面
【调用过程】
1. 编译调试IDL的pro文件
a. 新建工程将pro文件放在工程下的文件夹中
b. 检查主过程是否为程序主入口,且主过程应与文件名是否相同。
c. 调试程序pro文件是否有输入及输出(若有,则需要设定输入参数接口通过外部程序输入或文件修改提供输入值或给定输入值,设定输出路径等)
d. 判断每个程序段是否能正常运行(检查是否有其他程序段调用)。
2. 构建工程生成sav文件
a. 设置工程属性。工程构建属性下,执行RESOLV_ALL并创建sav文件输入sav路径及文件名,默认即可
b. 后续发布的可执行文件将会调用这个sav文件。如果pro程序更改则需重新编译程序并重新构建sav文件。
3. C#调用idlrt.exe
a. 打包精简版IDL库需要runtime所需文件,将其与sav文件放在