liu365 发表于 2004-3-20 19:37:00

请各位大虾帮忙!急!

1、用ARX如何实现对纯文本文件的读取?


2、用ARX如何实现autocad与其他程序之间的交互?例如,其他程序产生的一组数据传递给CAD,CAD利用该数据进行具体操作,两程序之间进行交互。。。。

WIN171 发表于 2004-3-20 22:46:00

1.arx中对纯文本的读取实际上使用到VC的功能,并没有用到arx的函数,你可以看一下VC的函数


2.arx与其他程序交互有几种可能,1)用到ActiveX ,2)如果用数据库可以直接使用DAO或ODBC, 3)使用中间文件,需要在编程中考虑CAD和其他程序读取、修改中间文件

liu365 发表于 2004-3-21 08:18:00

谢谢你!


我是用了fscanf()函数,可是AUTOCAD调用的时候出现了问题,提示为:"unhandled exception C0000005(Access Violation Reading 0x0034) at address 77F8910Eh",可是我用DEBUG调试时却可以看到数据已经能读取了,这是为什么呢?

liu365 发表于 2004-3-21 08:24:00

麻烦你能告诉我哪里有ARX与其他程序交互的例子?我没有编过这样的程序,谢谢!

WIN171 发表于 2004-3-21 21:19:00

1.ARX中出现访问地址错误,可能是因为打开的句柄没有关上。我自己感觉到ARX很严格,在编程的过程中必须考虑到各种发生的事件,以及事件的顺序。


2.如果利用ActiveX,你可以察看一下邮电出版社的ARX编程的书,我记得里面讲过ActiveX的例子

liu365 发表于 2004-3-21 22:31:00

我的代码是这样的,应该是很简单的,可就是错误啊,应该        在什么地方改呢?


double x1;<BR>        FILE*fp=fopen("traj.dat","r");<BR>        fscanf(fp,"%lf",&amp;x1);<BR>        fclose(fp);<BR>

Student 发表于 2004-3-22 08:20:00

检查一下fp是否非NULL

liu365 发表于 2004-3-22 22:50:00

我昨晚终于发现问题的原因了!出现问题后,我试着用fprintf函数输出程序中的数据,结果程序运行正常,但我project中并没有输出的文件,我又纳闷了。我开始用查找了,结果发现该输出文件存储在c:\program Files\autocad2000下!原来如此,我就把要读取的文件放在c:\program Files\autocad2000下,程序执行正确了!!!!


虽然可能别人早就知道应该这样了,可我这次是经过自己努力找到问题所在!


我的问题希望给大家以借鉴!
页: [1]
查看完整版本: 请各位大虾帮忙!急!