Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Работа с XML


Автор: altarasjuk 29.5.2003, 14:05
Подскажите, плиз, компоненту для работы с xml.

Автор: Unregistered 29.5.2003, 14:09
TXMLDocument кажеться (закладка Internet), а дельфя какая?

Автор: altarasjuk 29.5.2003, 14:20
7
А этот TXMLDocument, как я понял очень глюкавый:
В одном случае код работает, в другом - нет(access voilation) sad.gif

Автор: Unregistered 29.5.2003, 16:08
в каком случае?
у меня простенькие задачки (ну типа менюшки описять, юзеров и все такое), но пока не подводил...

Автор: altarasjuk 29.5.2003, 17:24
Да я уже с эти вёехал, просто его надо описывать не TXMLDocument, а IXMLDocument...

Автор: Medved 1.2.2005, 00:16
Цитата(altarasjuk @ 29.5.2003, 17:20)
А этот TXMLDocument, как я понял очень глюкавый:
В одном случае код работает, в другом - нет(access voilation) sad.gif


Ошибка не будет выскакивать, если в конструкторе в качестве параметра задавать не nil, а объект, унаследованный от TComponent. Но я так до сих пор, если честно, так и не понял, с чем это связано, и в исходниках смотрел и читал хелпы...
фантастика какая-то

Вот интересно, смотрим XMLDoc.pas:
Код

 TXMLDocument = class(TComponent, IInterface, IXMLDocument, IXMLDocumentAccess)
 private
 public
 ....
   constructor Create(AOwner: TComponent); overload; override;
   constructor Create(const AFileName: DOMString); reintroduce; overload;


реализация значит следующая:

Код

constructor TXMLDocument.Create(AOwner: TComponent);
begin
 { Need to have this to make this constructor visible to C++ classes }
 inherited;
end;

constructor TXMLDocument.Create(const AFileName: DOMString);
begin
 inherited Create(nil);
 FFileName := AFileName;
end;


Получается, что при использовании constructor TXMLDocument.Create(const AFileName: DOMString); мы автоматически обрекаем себя на ошибки. Вот такая вот музыка, вот такая блин, вечная молодость....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)