代码编译和加载,但会导致致命错误。
我必须将绘图发布到我无法控制的路径。为此,我正在编写一个例程,使用子目录的递归搜索查找文件,并返回它的路径(仍然不完整)。我的C++编码并不高级(我在指针和类方面仍然很弱),但它正在改进。下面的代码编译良好并加载到AutoCAD中没有问题,但当我运行它时,我得到了一个致命的异常。
我当前的配置如下:
Window 7和AutoCAD 2012(64bit)
Visual Studio 2008
3.47GHz双处理器6核
24Gig RAM
Invidia Quadro 4000
238Gig SSD
我在32位XP机器上使用VS2008、AutoCAD 2010测试了这个,同样的事情发生了。我很乐意得到任何帮助或建议,我做错了什么。
再次感谢您的帮助。
肖恩多
**** Hidden Message ***** 尝试为您的字符串分配内存
更改
TCHAR * SearchRootPath
到
TCHARSearchRootPath
还可以看看acedGetFullString,与acutDelString()结合使用,就像分配给你一样,
所以你将继续使用TCHAR * SearchRootPath与这种方法:)
干杯 不要再做太多的arx了……但您也可以尝试使用以下内容:
ACHAR SearchRootPath;
if (acedGetString (1, _T("\nEnter Search Directory Path: "), SearchRootPath) != RTNORM) return;
ACHAR SearchFileName;
if (acedGetString (1, _T("\nEnter Search File Name: "), SearchFileName) != RTNORM) return;
ACHAR SearchWildCard;
if (acedGetString (1, _T("\nEnter Directory Wildcard Filter: "), SearchWildCard) != RTNORM) return;
... do your mojo here...
嗨,
很抱歉,直到现在我才有机会尝试您的更改并做出回应。这是一个忙碌的周末。
更改为acedGetFullString()产生了奇迹。仍然不确定它为什么会导致致命错误,但我从来不害怕破坏AutoCAD来找出答案。
我正在编写一个例程,在子目录中查找一个在我不知道的情况下更改的文件,并替换它。大部分工作都是在LISP中完成的,但是使用LISP搜索文件是非常困难的,尤其是当它在树中位于第6层或更多层时。所以我决定在文件位置ARX上工作,找到文件并返回它的当前路径。它要快得多,我需要一个项目,让我在ARX崭露头角,并在现实世界中工作。
我的下一个任务是弄清楚如何将我的I/O转换为接受并返回LISP值。
冰镇啤酒永远不够,但是如果你们中的任何一个人在城里,我很乐意让你们更接近那个无法实现的目标。
祝您愉快,再次感谢。
Shawndoe 嗯啤酒
页:
[1]