Форум: "Базы";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
ВнизVariant or safe array is locked Найти похожие ветки
← →
SdrCoder © (2006-01-25 13:50) [0]Доброе время суток! Естьо вопрос: при работе приложения на клиентских машинах, на которых не установлен Delphi возникает ошибка: Variant or safe array is locked. На машине, где стоит Delphi работает все отлично, без никаких ошибок. В программе использую DBExpress, и TClientDataSet. Что может быть, может кто посоветует?
← →
Johnmen © (2006-01-25 13:57) [1]Могут быть разные версии дбекспрессной dll"ки.
Могут быть разные версии midas dll"ки.
← →
SdrCoder © (2006-01-25 14:04) [2]Я со своим программой копирую две библиотеки midas.dll и dbexpmss.dll, со своей машины, на которой все ОК. Искал у себя на компе эти библиотеки только в одном экземпляре.
← →
Johnmen © (2006-01-25 14:08) [3]Какая версия Delphi?
← →
SdrCoder © (2006-01-25 14:13) [4]Delphi 2005 + upg1 + up2 + upg3. Версии dll 9.0
← →
Johnmen © (2006-01-25 14:19) [5]Midas.dll зарегистрирована?
← →
SdrCoder © (2006-01-25 14:23) [6]Чесно, говоря, Это первый мое проект с использованием DBExpress и TClientDataSet я не знаю. Если подскажешь как проверить или куда копать, буду очень благодарен.
← →
Johnmen © (2006-01-25 14:27) [7]Регистрация regsvr32 midas.dll
← →
SdrCoder © (2006-01-25 15:38) [8]Регистрацию проверил, все в порядке, более того заменил TQSLQuery на TSQLDataSet Эту ошибку перестало выдавать, НО в дочернем TSQLDataSet при связи ОДИН КО МНОГИМ, вылазит ошибка "Key Violation". Что это может быть? При связи ОДИН КО ОДНОМУ работает нормально.
← →
Johnmen © (2006-01-25 15:49) [9]>вылазит ошибка "Key Violation".
Где именно?
← →
SdrCoder © (2006-01-25 15:58) [10]В кратце, тестовый проект.
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 16:09) [11]Ничего сказать не могу.
Ошибок нет, по кр.мере принципиальных...
ЗЫ
Посмотри, какие и как у тебя там события обрабатываются.
← →
SdrCoder © (2006-01-25 16:19) [12]Какбуд-то разобрался, я помимо
SQLDATASet2.DataSource := DataSource1;
еще и у
ClientDataSet2.DataSource := DataSource1;
Вот поэтому и плющило, еще потестирую, мот все получится...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c