а что мешает пройтись циклом по всему массиву и сохранить каждый елемент индивидуально?
Например так:
Acad::ErrorStatus _CS_DBX_Pribor::dwgOutFields(AcDbDwgFiler* pFiler) const
{
pFiler->writeItem(m_array.length());
for (int i=0; i<m_array.length(); i++)
{
pFiler->writeHardPointerId(m_array[i]);
}
В этом случае, чтобы иметь возможность сохранить массив его надо сделать не AcDbObjectId, а AcArray <AcDbHardPointerId> m_array; (или AcDbSoftPointerId)
AcDbHardPointerId - есть наследник AcDbObjectId (равно как и AcDbSoftPointerId)
При этом, при заполнении массива, манипуляция m_array.append(id) (где тип id==AcDbObjectId) прокатит без проблем. Понятное дело, что пользоваться функциями класса AcDbHardPointerId не стоит ;)
Если я правильно понял, задача примерно следующая - при сохранении ДВЖ-файла, необходимо чтобы объект помнил ссылки на какие-то ещё объекты, так?