Баг с TSQLQuery.Locate и str1 + str2[1]

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Баг с TSQLQuery.Locate и str1 + str2[1]

Сообщение Boris3B » 19.11.2008 12:29:14

Всем добрый день!

Lazarus v.0.9.26 beta установлена на WinXP SP2.


При разработке своего проекта (для меня впервые в Лазарусе) я встретил два непреодолимых препятствия:

1. В Label1.Caption (ListBox, Memo) вывожу строку str1 + str2[1]. Если переменные str1 и str2 содержат английские буквы - всё хорошо, но если в str2 русские буквы - вообще ничего не выводится. Это же справедливо для полей набора данных (вычисляемое поле фамилия + имя[1] + '.' + отчество[1] + '.') - в DBGrid пусто. При этом str1 + str2 выводится при любых значениях.

2. Есть два набора данных SQLQuery. При перемещении по записям SQLQuery1 происходит следующее: в переменную (SelectedPersonID) запоминается ID записи SQLQuery2. SQLQuery2 закрывается -> его параметру присваивается значение некоторого поля SQLQuery1 -> SQLQuery2 открывается. Далее SQLQuery2 пытается переместить свой курсор на запись до закрытия:
try
if not qrtABUsers.Locate( 'ID', SelectedPersonID, [] ) then
qrtABUsers.First;
except
end;
т.е. если такой записи нет, то встаем на первую запись в наборе данных.
Так вот, пока я не закомментировал приведенные выше строки с Locate, происходили ужасные вещи, а именно:
- DBGrid мог не отрисовать часть данных или не вывести вообще ни чего. При попытках перемещения по DBGrid с помощью мыши или клавиатуры его курсор прыгал на любую запись или вообще не реагировал. Двое суток я искал подвох, но когда нашел вообще расстроился. Как вообще результат работы функции Locate в момент открытия набора данных может влиять на последующую навигацию по этим данным?????????????
Boris3B
новенький
 
Сообщения: 11
Зарегистрирован: 17.11.2008 18:34:10

Re: Баг с TSQLQuery.Locate и str1 + str2[1]

Сообщение Alexx2000 » 19.11.2008 12:41:18

Boris3B писал(а):1. В Label1.Caption (ListBox, Memo) вывожу строку str1 + str2[1]. Если переменные str1 и str2 содержат английские буквы - всё хорошо, но если в str2 русские буквы - вообще ничего не выводится.

После выхода 0.9.26, это наверное самый популярный вопрос. Думаю что причина, такая же как и здесь
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Re: Баг с TSQLQuery.Locate и str1 + str2[1]

Сообщение Boris3B » 19.11.2008 12:48:08

С вопросами по строкам всё понятно. Спасибо.
Boris3B
новенький
 
Сообщения: 11
Зарегистрирован: 17.11.2008 18:34:10


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46

Рейтинг@Mail.ru