Показать сообщение отдельно
  #2  
Старый 22.10.2012, 11:37
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от одинадцатый
Среда разработки: CodeGear, delphi 2010, Windows 7
Исходничек:
Код:
.....
var
.....
DataSourceNames: array[0..99] of string;
.....

Описание проблемы:
В итоге на форме имеем 2 DataSource с именами DataSource1 и DataSource3.
Вот в этом месте:
Код:
for I := 0 to ListBox2.Items.Count - 1 do
begin
  DS := TDataSource(DataSourceNames[i]);
на первой итерации естественно выбирается DataSource1,
Как это ты так лихо превращаешь строку в TDataSource?
Цитата:
Сообщение от одинадцатый
А на второй итерации при выборе DataSource3 на строчке
Код:
  for j := 0 to DS.DataSet.Fields.Count-1 do
выскакивает ошибка Access violation.
Не удивительно. Ты же к строке обращаешься как к TDataSource. Это ну никак не совместимые типы.
Ответить с цитированием