Теряется оформление текста

Автор t-d-k, 11.05.11, 20:31:46

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

t-d-k

Господа, кто-нибудь подскажет, почему после выполнения этого кода часть строки оказывается в нижнем индексе.
Прикладываю компас-фрагмент с текстом.
КОМПАС-12SP1. Visual Studio 2010
З.Ы.: А вообще там не только индексы появляются, иногда ещё часть формулы из знаменателя в числитель перепрыгивает. Очень это мешает автоматизировать... :-(

            ksAttributeObject attr = (ksAttributeObject)kompas.GetAttributeObject();
            if (attr == null)
                return;
            ksParagraphParam par = (ksParagraphParam)kompas.GetParamStruct((short)StructType2DEnum.ko_ParagraphParam);
            ksTextParam par1 = (ksTextParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextParam);
            ksTextLineParam par2 = (ksTextLineParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextLineParam);
            ksTextItemParam par3 = (ksTextItemParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam);
            ksTextItemParam NewPar = (ksTextItemParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam);
            ksTextItemFont iFont = (ksTextItemFont)kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemFont);
            //par1.Init();
            //par2.Init();
            //par3.Init();
            //par.Init();
            int pObj = 0, pAttr = 0;
            string buf = string.Empty;
            ksIterator iter = (ksIterator)kompas.GetIterator();
            if (iter == null)
                return;

            if (iter.ksCreateAttrIterator(0, 10, 0, 0, 0, 0))
            {
                // создадим итератор для поиска объектов по ключу 10
                pAttr = iter.ksMoveAttrIterator("F", ref pObj);
                if (pAttr != 0 && doc.ksExistObj(pObj) != 0)
                {
                    do
                    {
                        doc.ksGetObjParam(pObj, par1, ldefin2d.ALLPARAM);

                        doc.ksSetObjParam(pObj, par1, ldefin2d.ALLPARAM);
                        pAttr = iter.ksMoveAttrIterator("N", ref pObj);
                    }
                    while (pAttr != 0 && doc.ksExistObj(pObj) != 0);
                }
                iter.ksDeleteIterator();
            }