高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】call to odinitialize90 fails
call to odinitialize() fails
call to odinitialize() fails
i have a asp.net intranet application written in c#, that need to use read some texts from a .dwg when uploaded and store them in a database, so it can shown on the screen later. so i have written a managed c++ class (not included in this post) that is called from the c#. so far everything works fine.
when this managed c++ class calls the read() that is shown here the problems start. i stripped it done to this and even then the call to odinitialize() fails.
it throws an exception, but the catch(oderror& e) block also throws the nullreferenceexception exception shown here. when i leave that catch block out the catch(...) throws this same exception.
i'm really stuck. how can i combine the dwgdirect libraries with a .net application through managed c++???
---------------------------------------------
readdwg.h
---------------------------------------------
class readdwg
{
public:
bool read(const char* szfile);
};
---------------------------------------------
readdwg.cpp
---------------------------------------------
class myservices : public exsystemservices, public exhostappservices
{
protected:
odrx_using_heap_operators(exsystemservices);
};
bool readdwg::read(const char* szfile)
{
bool bret = true;
// service
odrxobjectimpl<myservices> svcs;
bool binitserv = false;
try
{
// create a custom services object.
odinitialize(&svcs);
binitserv = true;
// snipped the remaining part of the code,
// since it is never reached :-(
}
catch (oderror& e)
{
// will do the error management here later
bret = false;
}
catch (...)
{
// unknown error
bret = false;
}
if (binitserv)
oduninitialize();
return(bret);
}
---------------------------------------------
assert shown
---------------------------------------------
assert failed in aspnet_wp.exe dbgdel.cpp line 52
expression: _block_type_is_valid(phead->nblockuse)
when pressing retry
an unhandled exception of type 'system.nullreferenceexception' occurred in documentinfo.dll
additional information: object reference not set to an instance of an object.
---------------------------------------------
i build a simple managed sample, inserted your code and it works.
i attached the project for you to compare. you also may reduce your project to small compilable sample and upload to forum.
attached files (7.9 kb, 34 views)
vladimir
|