Thanks Kerry.
I didn't play with ExplodeFragments() before, I'm glad having learned something new this morning.
Here's a new example, inspired by Tony's sample.
// ...
DBText txt = tr.GetObject(id, OpenMode.ForRead) as DBText;
if (txt != null)
{
if (txt.TextString.Trim() == string.Empty)
{
txt.UpgradeOpen();
txt.Erase();
}
continue;
}
MText mTxt = tr.GetObject(id, OpenMode.ForRead) as MText;
if (mTxt != null && GetStripedMtextContents(mTxt).Trim() == string.Empty)
{
mTxt.UpgradeOpen();
mTxt.Erase();
}
//...
private string m_str;
private string GetStripedMtextContents(MText mt)
{
m_str = string.Empty;
mt.ExplodeFragments(new MTextFragmentCallback(FragmentCallback));
return m_str;
}
private MTextFragmentCallbackStatus FragmentCallback(MTextFragment fragment, object obj)
{
m_str += fragment.Text;
return MTextFragmentCallbackStatus.Continue;
}