Влияет ли параметр poAsyncLoad на TXMLDocument?

Я играл с TXMLDocument и пытался понять, что делает poAsyncLoad в ParseOptions. В справке указано, что это может повысить производительность при работе с большими файлами XML (чего, похоже, не происходит). Название указывает на то, что он должен работать в фоновом потоке, но пользовательский интерфейс по-прежнему зависает при загрузке большого XML-файла.

Кто-нибудь знает, что это делает? Я использую Делфи XE3


person Alister    schedule 17.09.2012    source источник


Ответы (1)


Включение poAsyncLoad сообщает базовому провайдеру DOM, что асинхронная загрузка разрешена, но это не гарантирует, что асинхронная загрузка действительно будет использоваться. Это действительно зависит от возможностей базового поставщика DOM. В Windows по умолчанию это MSXML, который поддерживает асинхронную загрузку, но, возможно, другие факторы мешают этому. Но если это так, вы также должны назначить обработчик события TXMLDocument.OnAsyncLoad, чтобы вы могли получать асинхронные обновления статуса, иначе вам пришлось бы периодически читать свойство TXMLDocument.AsyncLoadState.

person Remy Lebeau    schedule 17.09.2012