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

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

Variant or safe array is locked [MSSQL]


SdrCoder ©   (2006-01-25 13:50:00) 

Доброе время суток! Естьо вопрос: при работе приложения на клиентских машинах, на которых не установлен Delphi возникает ошибка: Variant or safe array is locked. На машине, где стоит Delphi работает все отлично, без никаких ошибок. В программе использую DBExpress, и TClientDataSet. Что может быть, может кто посоветует?


SdrCoder   (2006-01-25 16:19:00) [1]

Какбуд-то разобрался, я помимо

SQLDATASet2.DataSource := DataSource1;

еще и у

ClientDataSet2.DataSource := DataSource1;

Вот поэтому и плющило, еще потестирую, мот все получится...


Johnmen   (2006-01-25 16:09:00) [2]

Ничего сказать не могу.
Ошибок нет, по кр.мере принципиальных...

ЗЫ
Посмотри, какие и как у тебя там события обрабатываются.


SdrCoder   (2006-01-25 15:58:00) [3]

В кратце, тестовый проект.

SQLConnection1: TSQConnection
SQLDataSet1, SQLDataSet2: TSQLDataSet;
DataSetProvider1, DataSetProvider2: TDataSetProvider;
ClientDataSet1, ClientDataSet2: TClientDataSet;
DataSource1, DataSource2: TDataSource;
DBGrid1, DBGrid2: TDBGrid;

Соответственно с 1 - Это одна связка компонентов к мастер таблице,
с 2 - связка к таблице деталей.

SQLDATASet1.CommandText := "SELECT CompID FROM MasterTable"
SQLDATASet2.CommandText := "SELECT CompDetail FROM DetailTable WHERE CompID = :CompID";
SQLDATASet2.DataSource := DataSource1;


Запускаю программу все ОК. Начинаю скролить, там где в дочерней таблице соответствует одна запись, все ОК. Если же в дочерней таблице более одной записи, то вылазит "Key Vialetion"


Johnmen   (2006-01-25 15:49:00) [4]

>вылазит ошибка "Key Violation".

Где именно?


SdrCoder   (2006-01-25 15:38:00) [5]

Регистрацию проверил, все в порядке, более того заменил TQSLQuery на TSQLDataSet Эту ошибку перестало выдавать, НО в дочернем TSQLDataSet при связи ОДИН КО МНОГИМ, вылазит ошибка "Key Violation". Что это может быть? При связи ОДИН КО ОДНОМУ работает нормально.


Johnmen   (2006-01-25 14:27:00) [6]

Регистрация regsvr32 midas.dll


SdrCoder   (2006-01-25 14:23:00) [7]

Чесно, говоря, Это первый мое проект с использованием DBExpress и TClientDataSet я не знаю. Если подскажешь как проверить или куда копать, буду очень благодарен.


Johnmen   (2006-01-25 14:19:00) [8]

Midas.dll зарегистрирована?


SdrCoder   (2006-01-25 14:13:00) [9]

Delphi 2005 + upg1 + up2 + upg3. Версии dll 9.0


Johnmen   (2006-01-25 14:08:00) [10]

Какая версия Delphi?


SdrCoder   (2006-01-25 14:04:00) [11]

Я со своим программой копирую две библиотеки midas.dll и dbexpmss.dll, со своей машины, на которой все ОК. Искал у себя на компе эти библиотеки только в одном экземпляре.


Johnmen   (2006-01-25 13:57:00) [12]

Могут быть разные версии дбекспрессной dll'ки.
Могут быть разные версии midas dll'ки.


Наверх

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