Delphi-Quellcode:
xmld.async := true;
xmld.validateOnParse := false;
Du sagst arbeite Assynchron (also nicht, warte bis du fertig bist, bevor es weitergeht) und "ignoriere" Fehler.
Und dann beschwerst du dich, wenn eventuelle Fehler nicht bemängelt werden, oder wenn etwas noch nicht fertig ist, bzw. noch nicht existiert, sobald du darauf zugreifen willst.
Code:
....
.... hier werden die Nodes zusammengebaut
....
Was machst du denn da so alles?
(nicht das da auch noch Fehler drin sind)
PS: Wir haben hier auch ein [DELPHI]-Tag, siehe der rote Helm-Button, für lesbarere Delphi-Codes.
PSS: CoDomDocument40.Create sollte eine Exception werfen, wenn nix erstellt werden konnte ... also die Prüfung auf NIL kann entfallen.
Auch das try-finally + :=nil am Ende könnte man weglassen, da dieses Delphi automatisch verbaut, wenn man hier eine lokale Interface-Variable nutzt (so wie du es ja machst) ... also das try steckt im BEGIN der Funktion und finally + :=nil versteckt sich im END; der Funktion.
(aber falsch ist es nicht, falls du es unbedingt mache willst)