Вниз
Скачать: CL | DM;

TClientDataSet.Locate русских строк вызывает AV в kernel32.dll   Найти похожие ветки 

 
clickmaker ©   (2003-05-30 14:17) [0]

Привет всем! Такой код вызывает 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 14:39) [1]

Таки пора ставить Update Pack
или хотя бы VarToStr(Value) подавать


 
clickmaker ©   (2003-05-30 14:43) [2]

Update Pack стоит.
VarToStr(Value) и даже явное указание значения в Locate дают тот же эффект


 
Romkin ©   (2003-05-30 14:57) [3]

Значит, ошибка в другом месте, ищи, где память не выделена, или еще что-то


 
clickmaker ©   (2003-05-30 15:03) [4]

Разобрался! У меня Д5 и Д6 стоят, midas.dll из Д6 зарегистрирована, а прога в Д5 написана. Заменил midas на 5 - все заиграло! Несовместимость, однако...


 
Romkin ©   (2003-05-30 15:27) [5]

У меня так же стоит - все в порядке, midas от D6SP2, с ним D5 прекрасно работает



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
1-84196
Димыч
2003-06-11 22:19
2003.06.26
Функции, процедуры...


14-84570
Shaman
2003-06-04 10:50
2003.06.26
Runtime error 105 - что значит?


3-84035
Andrey V.
2003-05-29 08:02
2003.06.26
Слишком моного версий ...


1-84423
bloodman
2003-06-08 01:05
2003.06.26
HotKey


14-84738
killer
2003-06-06 00:54
2003.06.26
TBLODStream




   Наверх