查看单个帖子
旧 2009-05-06, 07:39 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】oddbentget throws exception if exepath has unicode character

oddbentget throws exception if exepath has unicode character
oddbentget throws exception if exepath has unicode characters
i am using dwgdirect c++ veriosn 2.3.1.
i am reading proxyobject data using oddbentget but behaviour of this function is different in following two cases-
1.when my exepath has some korean characters @korean os.this function throws exception enointerface.
2.when my exepath has only english chararcters on same os.this function is working fine.
i am reading acdbfieldlist as proxy object using following code-
void dwgreader::readunknowobject(oddbobject* pobject)
{
assert(pobject != null);
if (pobject == null)
return null;
oddbdatabaseptr pdb = pobject->database();
odstring stringhandle = pobject->objectid().gethandle().ascii();
odrxclassptr pclass = pobject->isa();
try{
odresbufptr podresbuf = oddbentget(pobject->objectid());//throwing exception in case 1
catch(oderror& err)
{
int error=err.code();//enointerface.
return;
}
if(podresbuf.isnull())
{
assert(0);
}
//processing podresbuf here
}
so when application is installed at path which has korean characters,then we can't read some object and also cant save them back.
i have also noticed that some dwgdirect classes are not registered after odinitialize().
after initialization if i use following code-
odrxclass* pclass=oddbevalgraph::desc();//in case 1 pclass always returns null in case 2 it's fine.
so can u suggest me what i am doing wrong or it is some internal problem in dwgdirect.
could you please try your code with last toolkit version ?
thanks for prompt reply , i will try to compile with latest version.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)