1、当有FORM窗体的时候
如果使用声明的是XMLDoc : TXMLDocument时,使用XMLDoc := TXMLDocument.create(self)创建。如果使用XMLDoc := TXMLDocument.create(nil)创建会出现内存报错。
2、当没有FORM窗体的时候
只能使用XMLDoc := TXMLDocument.create(nil)创建。因为如果使用create(self)的时候,会编译不通过。
3、在FORM窗体使用外部类建立的XML时候
当窗体内调用外部类的XML时因为是create(nil),所以会在使用的时候出现内存报错。
因此为解决XML创建和使用时出错的问题。
一律将XMLDoc ,和XMLNode的类型声明为 接口类型。即 XMLDoc : IXMLDocument ,XMLNode:IXMLNode.
则此时不管是FORM窗体还是不是窗体形式创建时都用XMLDoc := TXMLDocument.create(nil)。虽然声明为接口类型IXMLDocument但是创建的是后还是用TXMLDocument创建。