查看单个帖子
旧 2009-05-06, 11:45 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】problems getting preview 9metafile or raster image0 from odd

problems getting preview (metafile or raster image) from odd
problems getting preview (metafile or raster image) from oddbole2frame
hallo everybody!
we are start using dd (1.12) for reading dxf/dwg files (before used version 1.10).
after changed version from 1.10 to 1.12 i can't support more import ole preview from dwg/dxf files to our application .
when i'm trying to get metafile size or data from ole2frame in following code:
oddbole2frameptr pole2frame = pent;
odgimetafileptr pwmf = pole2frame->getmetafile();
if (!pwmf.isnull())
{
uint nlen = pwmf->datasize();
...
}
in datasize() i got an exception of class odolestorageerror with description like "object not exists".
in version 1.10 i can simply get metafile or raster image data from ole2frame object.
plz help me to solve this problem.
thanks.
alexander.
hi alex,
since 1.10 olestorage functionality was moved to separate module.
if you use ddl vesrion you need odolestorage.drx in the dd folder.
if you link statically with dd you need to use special macros to initialize the module and link with appropriate lib.
see odamfcapp sample - search for odolestorage in odamfcapp.cpp
btw, a gde prostava? rebyata interesuyutsa... :-)
sergey slezkin

hi sergey !
you wrote:" if you link statically with dd you need to use special macros to initialize the module and link with appropriate lib.
see odamfcapp sample - search for odolestorage in odamfcapp.cpp"
i've done this, and also tried adds functionality for get size and data from ole metafile preview in example in dwgview.cpp
...
if(pobj->iskindof(oddbole2frame::desc()))
{
odrectangle3d rect;
oddbole2frameptr pole = ((oddbole2frameptr)pobj);
odstring tmp;
odgimetafileptr pwmf = pole->getmetafile();
if (!pwmf.isnull())
{
uint nlen = pwmf->datasize();
...
}
...
example not work too .
throw exception in line uint nlen = pwmf->datasize();
>btw, a gde prostava? rebyata interesuyutsa... :-)
kak priedu v rossiyu, tak obyazatelno zaydu i prostavlus
rebyatam bolshoy privet
does odamfcapp crash trying to render your file?
if so, post the sample dwg, please.
sergey slezkin
hi,
if anyone is still watching this thread, there are no instances of odolestorage in any of the examples code for dwgdirect v1.14.02.
where can i find these macros that are talked about earlier in this thread?
cheers,
james stewart
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)