Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не могу динамически задать TClientDataSet.ProviderName [D7]


Shaman_ ©   (2006-12-14 17:43:00) 

Создаю в рантайме объект TDataSetProvider и пытаюсь привязать его к TClientDataSet. Неясность в том, что значение TClientDataSet.ProviderName является обычной string строкой. В рантайме ему значение через указание наименования объекта не работает, да и не логично это. Как бы передать значение ProviderName с помощью указателя (pointer) на объект?


Shaman_   (2006-12-14 18:07:00) [1]

Desdechado ©   (14.12.06 17:47) [1]
Интересный вариант :)
Правда у меня такой способ передачи указателя не прокатил. Пожалуй не стану заниматься колдовством, так как Reindeer Moss Eater указал на менее извращенный вариант решения проблемы.

Всем спасибо за помощь!


Reindeer Moss Eater   (2006-12-14 17:51:00) [2]

If the provider is in the same application as the client dataset, it must have the same Owner as the client dataset. To use a local provider that has a different Owner, use the SetProvider method instead.


Desdechado   (2006-12-14 17:47:00) [3]

 fProvider := TDataSetProvider.Create( Application );
 with( fProvider ) do
   begin
     Name := 'p'+IntToStr(Integer(fProvider));
     DataSet := fSQLDataSet;
     Options := [ poAllowCommandText ];
   end;
 fMainQuery := TClientDataSet.Create( Application );
 fMainQuery.ProviderName := fProvider.Name;


Наверх

Титульная страница Поиск, карта сайта Написать письмо