Если набор данных сервера содержит большие поля (например, изображения), передача данных по медленному каналу займет очень много времени,
что, несомненно, снизит эффективность приложения. Простейшее решение проблемы — передача клиенту данных типа
BLOB только в том случае, когда это ему действительно необходимо — т. е. исключительно по его запросу.
В компоненте TCHentDataSet процессом передачи полей типа
BLOB можно управлять, используя свойство
property FetchOnDemand: Boolean;
По умолчанию оно равно значению True и клиентский набор данных "выкачивает" данные
BLOB по мере необходимости автоматически. Это означает, что приложение будет останавливаться и заново получать данные при любом просмотре данных, прокрутке и т. д. Если свойство имеет значение
False, для получения данных клиент должен явно вызвать метод
procedure FetchBlobs;
Но, кроме этого, в свойстве options компонента-провайдера
TDataSetProvider обязательно должно быть установлено значение:
poFetchBlobsOnDemand := True;
Знаете ли Вы, что в 1965 году два американца Пензиас (эмигрант из Германии) и Вильсон заявили, что они открыли излучение космоса. Через несколько лет им дали Нобелевскую премию, как-будто никто не знал работ Э. Регенера, измерившего температуру космического пространства с помощью запуска болометра в стратосферу в 1933 г.? Подробнее читайте в FAQ по эфирной физике.