![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу динамически задать 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;