爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 16814|回复: 45

[混合编程] IDL编程学习之demo&发布为exe

[复制链接]

新浪微博达人勋

发表于 2018-3-7 09:00:49 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 15195775117 于 2018-3-7 09:00 编辑

IDL自带很多Demo,基于这些Demo,用户可以在很短的时间开发出所需的应用程序
在命令行敲demo,回车!弹出demo库界面:
QQ截图20180306163931.jpg
历史上,IDL发布为exe比较不便,前人经历了很多辛酸:
QQ截图20180306170032.jpg
还好发布exe有了很多参考资料:

IDL发布exe.png

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-7-17 17:07:14 | 显示全部楼层
IDL.exe案例
------
需要在D盘下新建wanghongao文件夹,会在里面输出一个IDL_txt_sample.txt
1台装了IDL的PC成功!
2台没装IDL的PC成功!!!
1台没装IDL的32位PC失败。(莫非真跟位数有关?exe中有些文件的确写的是64位)
服务器成功!但是远程桌面模式双击会弹窗。用鼠标操作就不弹虚拟机界面。
spawn启动exe无效,说ini文件名要与exe文件名一致(分明已经一致了)
该程序很有前途,虽然没有出图,但是已经可以传递算法结果,不错了!


ao.rar

32.16 MB, 下载次数: 30, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2018-3-7 10:30:09 | 显示全部楼层
案例
写一个程序:
pro exe
print,'abc123'
save,filename='D:\exe.sav',/routines---把该程序保存为D盘中的exe.sav文件
end

发布:
make_rt,'xiumudaidaizi','C:\Users\YGDY\Desktop',savefile='D:\exe.sav',/overwrite
其中,
'D:\exe.sav'为获取sav文件的位置,
'C:\Users\YGDY\Desktop'为程序发布的位置,
'xiumudaidaizi'为程序所在文件夹名,文件夹中内容为:
QQ截图20180307102813.jpg
现在,我需要找个没装IDL的机器运行下,看看效果
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-7 10:31:53 | 显示全部楼层
15195775117 发表于 2018-3-7 10:30
案例
写一个程序:
pro exe

貌似有点问题,一个叫xiumudaidaizi.exe跟exe.sav不符,似乎需要同名
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-7 11:02:47 | 显示全部楼层
不想弹出虚拟机界面:
[转]IDL7.0发布后不显示虚拟机界面的解决方法_远方_新浪博客.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-7 11:08:06 | 显示全部楼层
经试验,按一楼说的,
许可文件夹License
放入生成的程序文件夹中,
就不会弹出虚拟机窗口啦!

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-7 11:48:08 | 显示全部楼层
exe软件发布流程案例:
写一个程序:
pro ao
fig=contour(dist(100),/fill,rgb_table=33)
fig.save,'D:\kkk.jpg'
fig.close
save,filename='D:\ao.sav',/routines
;make_rt,'ao','D:\',savefile='D:\ao.sav',/overwrite
end

其中的注释部分是在控制台敲用的,用来输出exe程序文件夹
pro文件位置无所谓,sav文件在D盘根目录,exe文件夹在D盘ao文件夹中
打开ao文件夹,把ini文件中:
[DIALOG]
Show=True

改为
[DIALOG]
Show=False

把License文件夹拷贝入ao文件夹中,
完成!
步骤归纳为:
1、写程序;
2、输出sav文件;
3、make_rt输出exe程序文件夹;
4、改ini参数;5、
拷贝入License许可文件夹
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-7 14:02:56 | 显示全部楼层
上一楼中,
save,filename='D:\ao.sav',/routines
一句可以与make_rt一句都放在控制台回车,不然运行exe程序时会生成sav
另外,画图时,使用/BUFFER可以不启动画图界面
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-9 11:07:05 | 显示全部楼层
IDL的调用和被调用:
一、IDL调用其他程序:
IDL支持动态模块加载(DLM)功能:
  • 调用Windows控件
  • 调用Java代码
  • 调用dll
二、其他程序调用IDL:
通过ActiveX技术,可以将IDL图像功能嵌入VB、VC++、DotNet等
通过IDL-Java/COM Bridge,可以直接将IDL输出为Java类对象和COM组件
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-9 13:42:01 | 显示全部楼层
《IDL程序设计》说:
IDL语言支持两种发布方式:
  • 免费的虚拟机IDL VM
  • IDL Runtime
但是我在发布时,窗口的名称却是2个都有,好奇怪!
QQ截图20180309134106.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-3-18 17:00:12 | 显示全部楼层
{:5_213:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表