我已经尽我所能确保信息的准确性,但是如果您发现任何错误或不准确的地方,请随时在评论区指出。我非常感谢您的反馈,这将帮助我改进我的内容。
文章目录
1. 各种姿势的报错
1.1 多次运行后程序崩溃
报错信息: 在NX中多次执行.dll后报错UseAskMessage…
解决方式:
- 多次Python初始化导致Python环境崩溃;
- 存在多个Python环境变量(例如同时存在Python与Anaconda);
1.2 未能加载图像
报错信息:
解决方式:
- dll文件在D版的NX中可以运行,但是想要在正版的NX中运行,必须将dll文件先”签名",否则就会出现上面的错误;(signcpp.exe 在NXBIN目录下,且dll文件路径不能含有中文)参考
- 重新安装Python37的本地环境,Anaconda环境不行(不知道为什么);
1.3 加载dll文件后NX闪退
问题描述: 加载未调用python程序的dll文件不闪退,而加载调用了python程序的dll文件闪退;
解决方式: 在Visual Studio中将Python环境调整正确;
1.4 使用PyImport_ImportModule加载python模块返回NULL
问题描述: 在环境问题解决完成后,加载Python模块依然返回NULL;
解决方式:
- PyRun_SimpleString(“sys.path.append(‘E:\NX1953\NXOPEN\application\my_core’)”)导入模块时返回空指针一般都是路径的问题,经过检查发现原来是转义符的问题,虽然看上去已经转义了,可在Python看来相当于执行了 sys.path.append(‘E:\NX1953\NXOPEN\application\my_core’),导致路径不正确。用正斜线表示路径分隔符;
1.5 PyObject_CallObject返回值为NULL
问题描述: 在其他问题都解决的前提下,依然返回NULL;
解决方式: 调用方法的参数顺序不能弄错;
1.6 没有注册该按钮上的操作
报错信息:
解决方式: NX自身BUG,重启NX即可;