高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】iter 9method seek0 get error
iter (method seek) get error
iter (method seek) get error
hi,
how we find the linetypename from a spec. layer with seek-method ?
++++++++++++++++++++++++++++++
//iterate layertbl
...
//sep. c++block in func because equal variablename piter
{
oddblayertableptr plinetypes =
pdb->getlinetypetableid().safeopenobject();
oddbsymboltableiteratorptr piter = plinetypes->newiterator();
piter->seek(player->linetypeobjectid());
oddblayertablerecordptr plinetype =
piter->getrecordid().safeopenobject();
os << plinetype->getname() << ";";
}
....
++++++++++++++++++++++++++++++
we get follow message:
"unknown software exception" (0x80000003) at (0x01020ae23)
what is wrong ?
thanks fo help
ralph
hi,
probably you get exception because you are assigning linetype table pointer oddblayertableptr.
you need not use seek method you can open linetype table record directly having obtained its object id from layer.
oddblinetypetablerecordptr plinetype = player->linetypeobjectid().safeopenobject();
out << plinetype->getname();
[ august 23, 2002: message edited by: sergey slezkin ]</p>
sergey slezkin
hi sergey,
thanks for help, your was right ).
for other people here the right code sequend:
++++++++++++++++++++++++++++
oddblinetypetablerecordptr plinetype = player->linetypeobjectid().safeopenobject();
cout << plinetype->getname().c_str();
++++++++++++++++++++++++++++
best regards to st.peterburg
ralph
|