Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

dbExpress. Создание редактируемого набора данных в runtime   Найти похожие ветки 

 
Alex Bakulin   (2006-07-24 13:36) [0]

Мне нужно в runtime создать связку
SQLConnection - SQLTable - Provider - ClientDataSet - DataSource

Когда делаю ее в designtime - все в порядке и работает. Когда создаю эту же связку в runtime, то при активизации ClientDataSet появляется ошибка Missing Data Provider or data packet.
Связка с провайдером идет по имени. Имя для созданного в runtime провайдера генерю при помощи GUID (убираю все лишнее и начинаю с буквы). Может быть затык в этом? Тогда как победить?


 
Johnmen ©   (2006-07-24 13:49) [1]

Как ты делаешь в рантайм мы не видим.


 
Alex Bakulin   (2006-07-24 13:54) [2]

FSQLTable: TSQLTable;
   FDS: TDataSource;
   ClientDS: TClientDataSet;
   DSProvider: TDataSetProvider;
   s: string

...

 FSQLTable := TSQLTable.Create(nil);
 FSQLTable.SQLConnection := (Collection as TSQLTableCollection).Connection; //соединение есть и активно
 FDS := TDataSource.Create(nil);
 ClientDS := TClientDataSet.Create(nil);
 DSProvider := TDataSetProvider.Create(nil);
 DSProvider.DataSet := FSQLTable;
 s := GetGUID; //возвращает GUID без "лишних" элементов
 while (s[1] in ["0".."9"]) do
   s := copy(s, 2, Length(s)-1);
 DSProvider.Name := s;
 FDS.DataSet := ClientDS;
 ClientDS.ProviderName := DSProvider.Name;

..

 FSQLTable.Active := Value; //тут все нормально данные есть и т.д.
 ClientDS.Active := Value; // а вот тут ошибка...


 
Reindeer Moss Eater ©   (2006-07-24 13:56) [3]

DSProvider.Name := s;
ShowMessage(DSProvider.Name);


 
Johnmen ©   (2006-07-24 13:58) [4]

ClientDS.ProviderName := DSProvider;


 
Alex Bakulin   (2006-07-24 13:58) [5]

Ctrl+F7 (DSProvider.Name)
"F14A4B8781D9D000F6AE85CF" или аналогично


 
Alex Bakulin   (2006-07-24 13:59) [6]


> ClientDS.ProviderName := DSProvider;

Даже не компилится. Это string


 
Johnmen ©   (2006-07-24 14:02) [7]


> Даже не компилится. Это string


В апострофы...


 
Reindeer Moss Eater ©   (2006-07-24 14:02) [8]

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.


 
Alex Bakulin   (2006-07-24 14:04) [9]


> To use a local provider that has a different Owner, use
> the SetProvider method instead.

Спасибо, заработало!



Страницы: 1 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.043 c
15-1157187715
Andy BitOff
2006-09-02 13:01
2006.09.24
DjVu просмотровщик


1-1155442111
Интересующийся
2006-08-13 08:08
2006.09.24
Real в PCar/String


2-1157548368
svt
2006-09-06 17:12
2006.09.24
Как можно в 20 компонентах edit обнулить text?


15-1157546541
Mishenka
2006-09-06 16:42
2006.09.24
Где можно скачать библиотеку GraphicEx?


15-1157041214
Sam Stone
2006-08-31 20:20
2006.09.24
TNSListner





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский