![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TClientDataSet.Locate русских строк вызывает AV в kernel32.dll [D5, MSSQL]
clickmaker © (2003-05-30 14:17:00)Привет всем! Такой код вызывает AV
CDS.Locate(DBGrid.SelectedField.FieldName, Value, [loCaseInsensitive]);
Вызов для TDBGrid перед ShowModal, Value типа Variant, значение - строка. Ищется строка в таблице, состоящей из русских названий. Причем AV вылезает не при всех значениях этой строки, но закономерность мне найти не удалось.
Но такой код (уже после того, как форма появилась) работает:
if (edSearch.Text <> "") then
cdsData.Locate(DBGrid.SelectedField.FieldName, edSearch.Text, [loPartialKey, loCaseInsensitive]);
VarToStr(Value) и даже явное указание значения в Locate дают тот же эффект.
Знатоки! Может подскажете, где грабли?
Romkin (2003-05-30 15:27:00) [1]У меня так же стоит - все в порядке, midas от D6SP2, с ним D5 прекрасно работает
clickmaker (2003-05-30 15:03:00) [2]Разобрался! У меня Д5 и Д6 стоят, midas.dll из Д6 зарегистрирована, а прога в Д5 написана. Заменил midas на 5 - все заиграло! Несовместимость, однако...
Romkin (2003-05-30 14:57:00) [3]Значит, ошибка в другом месте, ищи, где память не выделена, или еще что-то
clickmaker (2003-05-30 14:43:00) [4]Update Pack стоит.
VarToStr(Value) и даже явное указание значения в Locate дают тот же эффект
Romkin (2003-05-30 14:39:00) [5]Таки пора ставить Update Pack
или хотя бы VarToStr(Value) подавать