谢谢丹。
您是在从旧的arxref文档中阅读这篇文章吗?
这是关于2010年arxref上的AcDbLayerTable
从来没有任何问题,在我之前使用关闭表的所有情况下-是的,在删除迭代器后我发现了一些关闭表的代码。
我当时的理解是,一旦您打开表进行读取,并将指针指向您的迭代器,表就可以关闭,不再需要了。
查看ARX开发人员指南“迭代器”。 修改了下面的代码以阐明意图。
啊,说得好!我假设(我可能错了)指针总是空的,否则newIterator()函数怎么知道返回什么状态呢?也就是说,要么Autodesk已覆盖new以在失败时返回NULL,要么抛出std::bad_alloc。?。?。在类似这样的事情中代码4]
如果es不是Acad::eOk,则无法保证pIter会是什么,因此最好不要针对观察到的行为进行编程。当将来发生变化和/或编译器优化改变了观察到的行为时,这些bug可能会成为追踪的噩梦。
查看 ARX 开发人员指南“迭代器”。
谢谢保罗。
是的,它也在旧的arxref的文档中声明,它甚至有一个指向代码示例的链接。
我学会了自己动手 - 不太相信那里提供的示例代码 - 并且更喜欢自己尝试错误。
页:
1
[2]