XE2 では、カスタム関数を実装し、それをユニットのグローバルMSXMLDOMDocumentCreate
変数に割り当てます。Xml.Win.msxmldom
uses
..., Xml.Win.msxmldom;
function MyCreateDOMDocument: IXMLDOMDocument;
begin
Result := CreateDOMDocument;
//...
end;
initialization
MSXMLDOMDocumentCreate := MyCreateDOMDocument;
XE3 では、新しいクラスを派生させてTMSXMLDOMDocumentFactory
その仮想メソッドをオーバーライドし、カスタム クラスをユニット内CreateDOMDocument()
のグローバルTMSXMLDOMDocumentFactoryClass
変数に割り当てます。Xml.Win.msxmldom
uses
..., Xml.Win.msxmldom;
type
MyFactory = class(TMSXMLDOMDocumentFactory)
public
class function CreateDOMDocument: IXMLDOMDocument; override;
end;
class function MyFactory.CreateDOMDocument: IXMLDOMDocument;
begin
Result := inherited CreateDOMDocument;
//...
end;
initialization
TMSXMLDOMDocumentFactoryClass := MyFactory;
いずれの場合も、 にアクセスすると、IXMLDOMDocument
必要に応じてそのプロパティと設定をカスタマイズできます。