Здравствуйте, ProgZ, Вы писали:
PZ>Пытаюсь создать экземпляр класса TXMLDocument:
PZ>TXMLDocument *X = new TXMLDocument("test.xml");
PZ>И при первом обращении к X->DocumentElement получаю AV: read of mem...
PZ>Причем, если создать экземпляр в Designtime, все ОК.
PZ>Что я делаю неправильно?
Судя по документации, основное различие этих объектов, созданных в дизайне и в рантайме (точнее, созданных при помощи разных версий конструктора), состоит в их времени жизни.
Созданные в дизайне инстансы TXMLDocument убиваются их Owner'ом. Т.е. они живы, пока жива форма-их хозяин.
Те же, которые созданы указанным вами способом, живут до тех пор, пока есть ссылки на их интерфейс IXMLDocument.
Скорее всего, в этом и есть корень всех зол — где-то между моментом создания объекта и обращением к его DocumentElement происходит внезапная смерть. Рекомендую попробовать сделать X указателем на IXMLDocument вместо указателя на TXMLDocument.
... << RSDN@Home 1.0 beta 6 >>