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

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

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) подавать


Наверх

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