bgl_820601 发表于 2006-8-7 12:25:00

acdbCurDwg的头文件

我开始用
acdbHostApplicationServices()->workingDatabase()
->getSymbolTable(pBlockTable, AcDb::kForRead);
来获得块表指针还可以,
但是后来改用
acdbCurDwg()->getBlockTable(pBlockTable,AcDb::kForRead);
却总报错
error C2065: 'acdbCurDwg' : undeclared identifier
error C2227: left of '->getBlockTable' must point to class/struct/union
我想应该是头文件没有添加
但是却没有搜索到
请指点一下应改添加什么头文件
或者在什么地方,怎样搜索应该添加的头文件

shinjikun 发表于 2006-8-7 19:28:00

migrtion.h

bgl_820601 发表于 2006-8-13 20:22:00

非常感谢shinjikun,我试过拉,没有问题啦。
不过怎样查找呢我从doc的arxdoc.chm中查过但是查不到包含文件
能否再麻烦您 把查询的方法告诉一下!


shinjikun 发表于 2006-8-13 23:29:00

在SDK中几乎每一个函数或类的单独介绍中都有一个叫做Include File的条目。这就是所需要包含的.h文件的名字,
比如你所要的acdbCurDwg宏那一页大约是这样写的:
This function is deprecated and has been replaced with the global curDwg. It is #defined in migrtion.h for transition purposes only. Include both dbapserv.h as well as migrtion.h in your application. The dbapserv.h header file is needed because it defines acdbHostApplicationServices().
Developers should call acdbHostApplicationServices()->workingDatabase() instead of acdbCurDwg() when they want to refer to the current database.
Note Anyone who uses acdbCurDwg() or acdbHostApplicationServices()->workingDatabase() will also need to link with acutil15.lib.
Include File
migrtion.h
最后标明了.h文件的名字,
另外,建议你使用ArxWizard,如果坚持不使用ArxWizard的话,也千万不要将各个.h文件都包含,这不是R16以后的写法,因为R16以后,SDK提供了arxHeaders.h头文件和dbxHeaders.h头文件,两个头文件包含了arx和dbx所需的所有.h文件,并令编译器连接所有所需的.lib文件,这使得你在进行版本移植的时候变得特别方便,旧版SDK的程序,一般不需要修改太多代码就可以使用新版的SDK。并且也就不会有头文件漏加的情况了

bgl_820601 发表于 2006-8-16 13:13:00

谢拉

bgl_820601 发表于 2006-8-16 13:17:00

我先在用的是2000
也是被逼不得已
因为市面上2000的参考书能多一点
先拿它练练手,上手以后再改吧

shinjikun 发表于 2006-8-16 14:04:00

现在开始学的话,不如从2006开始,因为这是第一个引入.NET编程的版本,2004的话也好,是一个相当稳定且应用广泛的版本
页: [1]
查看完整版本: acdbCurDwg的头文件