明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2191|回复: 9

一个关于startapp的问题

  [复制链接]
发表于 2003-6-7 22:50:00 | 显示全部楼层 |阅读模式
我在一个lsp程序中用startapp调用一个windows应用程序,这个程序的功能是读入一个数据文件(比如说是input.dat),然后对里面的数据进行处理,然后输出一个数据文件(比如说是output.dat),我遇到一个奇怪的问题:
    我从文件夹中直接双击这个应用程序,他可以顺利的产生输出文件(output.dat),但是我从lsp程序中通过startapp调用这个文件的时候却不能产生相应的输出文件(output.dat)这是为什么?请高手指教!!!!
 楼主| 发表于 2003-6-8 21:33:00 | 显示全部楼层

我知道是什么问题了

当一个WINDOWS应用程序运行的时候,系统会记录当前运行文件的路径,而这个应用程序对数据文件的读取,如果不加路径的话,那系统将默认为当前运行的应用程序的路径,所以当我用双击来运行这个应用程序的时候,当前运行的应用程序就是他本身,系统的默认路径也就是该应用程序所在的文件夹,系统可以从这个应用程序所在的文件夹中读取数据文件;而当我用VisualLisp去调用这个应用程序的时候,当前运行的应用程序为AutoCAD,系统默认的路径就是正在运行的AutoCAD所在的文件夹,而不是这个应用程序所在的文件夹,所以应用程序不能正确的读取数据文件,出现读取错误。

评分

参与人数 1明经币 +1 收起 理由
bzhjl + 1 帮大忙了!

查看全部评分

发表于 2003-6-8 08:32:00 | 显示全部楼层

提示怎么说?

 楼主| 发表于 2003-6-8 09:18:00 | 显示全部楼层

VisualLisp的控制台的提示为33,正常加载应用程序

应用程序(为一个dos程序)的命令行提示由于闪的太快,看不清楚,好象是文件读入错误,我把这个应用程序上传给你,能帮我看看怎样才能正常调用,时间比较紧,我们星期一下午要交论文了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2003-6-8 09:42:00 | 显示全部楼层

还差一个输入文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2003-6-8 18:24:00 | 显示全部楼层

调试过,好象可以,生成的文件同直接运行生成的文件也相同。

我直接用以下语句调试,可以生成,不过你的DOS程序好象有问题,生成的文件扩展名的最后一位无法生成。如,输出文件我输入:“abc.dat”,生成的文件为:“abc.da”。
(defun c:app()
  (startapp "e:\\ss96.exe")
)
发表于 2003-6-8 18:25:00 | 显示全部楼层

提示33应该是运行正确的提示

 楼主| 发表于 2003-6-8 19:48:00 | 显示全部楼层

还是不行

你先把输出文件删除再用程序调用试试,还有这是否与操作系统有关,我用的是WIN2000SERVER
发表于 2003-6-9 08:31:00 | 显示全部楼层

难怪,我调试用的是全路径。

发表于 2009-1-5 03:10:00 | 显示全部楼层

这样怎么解决?

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-14 14:45 , Processed in 0.340163 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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