Делает ли опция poAsyncLoad что-нибудь для TXMLDocument?
Я играл с TXMLDocument и пытался понять, что poAsyncLoad делает в ParseOptions. Справка указывает на то, что она может улучшить производительность больших файлов XML (чего, похоже, нет). Название указывает, что он должен делать вещи в фоновом потоке, но пользовательский интерфейс все еще зависает при загрузке большого файла XML.
Кто-нибудь знает, что это делает? Я использую Delphi XE3
1 ответ
Включение poAsyncLoad
сообщает базовому поставщику DOM, что асинхронная загрузка разрешена, но это не гарантирует, что асинхронная загрузка будет фактически использована. Это действительно зависит от возможностей основного поставщика DOM. В Windows это MSXML по умолчанию, который поддерживает асинхронную загрузку, но, возможно, другие факторы говорят об этом. Но если это произойдет, вы также должны назначить обработчик TXMLDocument.OnAsyncLoad
событие, чтобы вы могли получать асинхронные обновления статуса, в противном случае вам придется прочитать TXMLDocument.AsyncLoadState
недвижимость периодически.