![]() |
【转帖】smart Pointer Issue
smart pointer issue
smart pointer issue i have this in a loop: i have this in a for loop: // we must create a text entity now.. oddbtextptr ptext = oddbtext::createobject(); // add to parent block pblock->appendoddbentity( ptext ); // set text properties ptext->setposition( odgepoint3d( pserror->x, pserror->y, pserror->z ) ); ptext->setheight( psmarker->dscale ); ptext->setwidthfactor( 1.0 ); ptext->setlayer( idlayer ); strtext = formaterrortext( psmarker, pserror, getdecimalplaces() ); ptext->settextstring( (odstring)strtext ); but at the end of the for loop execution i get an error which takes me here: void release() { if (m_pobject) { m_pobject->release(); m_pobject = 0; } } it stops on the m_pobject->release() call... help this is the call stack: vertcheck.exe!oddbfontservices::loadstylerec(odgit extstyle & style={...}, odrxobject * pdb=0x034728e0) line 62 + 0x15 bytes c++ vertcheck.exe!odgitextstyle::loadstylerec(odrxobje ct * pdb=0x034728e0) line 50 c++ vertcheck.exe!gifromdbtextstyle(const oddbtextstyletablerecord * pstyle=0x0355a300, odgitextstyle & gistyle={...}) line 117 c++ vertcheck.exe!gifromdbtextstyle(oddbobjectid styleid={...}, odgitextstyle & gistyle={...}) line 104 + 0x12 bytes c++ vertcheck.exe!oddbtext::adjustalignment(oddbdataba se * pdb=0x034728e0) line 1043 + 0x21 bytes c++ vertcheck.exe!oddbtext::subclose() line 1000 c++ vertcheck.exe!oddbobject::downgradeopen() line 799 c++ vertcheck.exe!oddbobject::release() line 832 c++ last edited by andrew.truckle@cartosurveys.co.uk; 12th june 2008 at 06:46 amfff">. i have fixed it. i was using two different dwg service elements. now that i have one as a member variable with scope for the life of the dialogue, it is working. |
| 所有的时间均为北京时间。 现在的时间是 10:04 PM. |