В Палитре компонентов Delphi представлено несколько компонентов, инкапсулирующих клиентский набор данных. В то же время при разработке настоящих удаленных клиентских приложений применяется компонент
TClientDataSet. Внесем ясность в этот вопрос. Итак, помимо компонента
TClientDataSet, расположенного на странице Data Access, существуют еще два компонента:
TSimpleDataSet
— разработан для технологии доступа к данным dbExpress и, по существу, является
единственным полноценным средством для работы с набором данных в рамках этой
технологии;
TiBdientDataSet — используется
в технологии доступа к данным сервера InterBase
— InterBase Express.
Все перечисленные компоненты произошли от общего предка — класса
TCustomClientoataSet (рис. 22.2). Они обеспечивают локальное кэширование данных и взаимодействие с серверным набором данных при посредстве интерфейса
IProviderSupport.
Основное различие между компонентом TClientDataSet и другими клиентскими компонентами заключается в том, что первый предназначен для использования с внешним
компонентом-провайдером данных. А значит, он может взаимодействовать с удаленным провайдером данных.
Остальные перечисленные компоненты инкапсулируют внутренний
провайдер данных, предоставляя тем самым для использования в рамках соответствующих технологий доступа к данным эффективный механизм локального кэширования данных. Использование внутреннего провайдера данных обеспечивает общий
класс- предок TCustomCachedDataSet.
Рис. 22.2. Иерархия классов
клиентских наборов данных
Для этого он имеет защищенное свойство
property Provider:
TDataSetProvider;
Соединение с источником данных осуществляется
не свойством RemoteServer (будет рассмотрено
ниже применительно к компоненту TclientDataSet).
задающим удаленный сервер, а стандартными средствами соответствующей технологии
доступа к данным.
Таким образом, для работы с удаленными данными
(т. е. внешними по отношению к клиенту) пригоден только компонент TclientDataSet,
умеющий работать с внешним провайдером данных.
Знаете ли Вы, что cогласно релятивистской мифологии "гравитационное линзирование - это физическое явление, связанное с отклонением лучей света в поле тяжести. Гравитационные линзы обясняют образование кратных изображений одного и того же астрономического объекта (квазаров, галактик), когда на луч зрения от источника к наблюдателю попадает другая галактика или скопление галактик (собственно линза). В некоторых изображениях происходит усиление яркости оригинального источника." (Релятивисты приводят примеры искажения изображений галактик в качестве подтверждения ОТО - воздействия гравитации на свет) При этом они забывают, что поле действия эффекта ОТО - это малые углы вблизи поверхности звезд, где на самом деле этот эффект не наблюдается (затменные двойные). Разница в шкалах явлений реального искажения изображений галактик и мифического отклонения вблизи звезд - 1011 раз. Приведу аналогию. Можно говорить о воздействии поверхностного натяжения на форму капель, но нельзя серьезно говорить о силе поверхностного натяжения, как о причине океанских приливов. Эфирная физика находит ответ на наблюдаемое явление искажения изображений галактик. Это результат нагрева эфира вблизи галактик, изменения его плотности и, следовательно, изменения скорости света на галактических расстояниях вследствие преломления света в эфире различной плотности. Подтверждением термической природы искажения изображений галактик является прямая связь этого искажения с радиоизлучением пространства, то есть эфира в этом месте, смещение спектра CMB (космическое микроволновое излучение) в данном направлении в высокочастотную область. Подробнее читайте в FAQ по эфирной физике.