Здравствуйте, Khimik, Вы писали:
K> K> function TFragmentNode.GetSubItem(index: integer): tfragmentnode;
K> begin
K> result:=tfragmentnode(fsubitems[index]);
K> end;
K>
K> fsubitems это tlist, tfragmentnode это класс. Попробовал поменять скобку на as и стала срабатывать ошибка Operator not applicable in this operand type.
result:=TObject(fsubitems[index]) as tfragmentnode;
Или замени TList на System.Contnrs.TObjectList или Generics.Collections.TList<tfragmentnode>; Для дженериков приведение вообще не потребуется делать.
K> K> stream.Read(intbuff,sizeof(intbuff));
K> setlength(fragment^.atoms,intbuff);
K>
K> После этого на записи length(fragment^.atoms) возвращается нулевым.
А inputbuf чему равен?