(РЕШЕНО) TEdit прыжок курсора вправо при удалении

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

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

Re: TEdit прыжок курсора вправо при удалении

Сообщение pupsik » 24.02.2017 19:47:32

И что мне сделать? Где искать?
т.е. у вас программа без кода? :shock:
И вы там ничего "мелкого" наворотить не могли?

п.с.
Если верить магическому шару: возможно вы что то не инициализировали. Т.е. нечто того что zub описал.
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: TEdit прыжок курсора вправо при удалении

Сообщение tema » 24.02.2017 19:48:48

Жесть! Это просто карма! Сроки поджимают, а из трёх вариантов ни один не работает! В обычном глюк ТС, в номом что-то с TStrings, в тефлоне что-то с кодировкой... Реально карма какая-то :(
tema
постоялец
 
Сообщения: 375
Зарегистрирован: 24.03.2011 20:19:27

Re: TEdit прыжок курсора вправо при удалении

Сообщение pupsik » 24.02.2017 19:51:01

Код дайте... Минимум и с багом...
Жесть в том что никто не знает: шо вы там жестите и как.

п.с.
поставьте под кеды как бы эмуляцию гнома (есть и обратный вариант). Уж не помню как сей пакет обзывается. А то жтк в кедах отвратно выглядит..
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: TEdit прыжок курсора вправо при удалении

Сообщение vitaly_l » 24.02.2017 19:53:51

tema писал(а):Жесть! Это просто карма! Сроки поджимают, а из трёх вариантов ни один не работает! В обычном глюк ТС, в номом что-то с TStrings, в тефлоне что-то с кодировкой... Реально карма какая-то

Это не жесть и не карма. Банально ищите утечки памяти и т.д. Лазарус всегда глючит, если в программе что-то сбоит. Штудируйте весь код, ошибка может быть совершенно в другом месте. Чтобы убедиться создайте пустую форму и положите на неё компонент - ничего там скакать не будет.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: TEdit прыжок курсора вправо при удалении

Сообщение alexs » 24.02.2017 20:06:09

По описанию - валится отладчик. Проверь на актуальность версию gdb
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: TEdit прыжок курсора вправо при удалении

Сообщение tema » 24.02.2017 20:32:43

Не может он быть не инициализован. Там первым условием идёт проверка на nil же. Я на всякий случай даже прям явно указал директиву {$B-}, но она и так не nil точно.
Начисто накидал на форму пару запросов вроде не валится. Но у меня и на версии лазаруса 1.6 ничего не валится и на Тефлоне свежей сборки не валится (но там компилятор 3.1.1). Валится только на транке лазаруса с компилятором 3.0.0...
Какой код предоставить? Там просто Querry1.edit; Querry1.Cancel и всё...
Код: Выделить всё
# rpm -q gdb
gdb-7.9-alt3
У вас нет необходимых прав для просмотра вложений в этом сообщении.
tema
постоялец
 
Сообщения: 375
Зарегистрирован: 24.03.2011 20:19:27

Re: TEdit прыжок курсора вправо при удалении

Сообщение pupsik » 24.02.2017 20:40:02

Там просто Querry1.edit; Querry1.Cancel и всё
а дальше лазарь сам разбирайся :lol:
И почему от вас так посылает ? :roll:
Да ещё и с мускулом.

Добавлено спустя 2 минуты 42 секунды:
В общем:
возможно вы что то не инициализировали. Т.е. нечто того что zub описал.

Если быть точнее - забыли добавить запросы на удаление, добавление и редактирование.
Это, если судить по предоставленному коду.

п.с.
alexs угу... валится от недоумения.
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: TEdit прыжок курсора вправо при удалении

Сообщение tema » 24.02.2017 21:07:06

pupsik писал(а):Если быть точнее - забыли добавить запросы на удаление, добавление и редактирование.

Для несложных таблиц в этом нет необходимости. Кроме того, я делаю Cancel

Добавлено спустя 3 минуты 1 секунду:
Собрал транковый лазарус на компиляторе 3.1.1.
Сразу вылезли крякозябры как в тефлоне. Причём ровно в трёх столбцах, а остальные нормально :-(э
На компиляторе 3.1.1 Cancel и Post программу не обваливают. Значит я был прав про компилятор
tema
постоялец
 
Сообщения: 375
Зарегистрирован: 24.03.2011 20:19:27

Re: TEdit прыжок курсора вправо при удалении

Сообщение pupsik » 24.02.2017 21:14:01

Кроме того, я делаю Cancel
, а сперва вы делаете edit. Пустой....
На компиляторе 3.1.1 Cancel и Post программу не обваливают. Значит я был прав про компилятор
не правы. Возможно в транковых сорцах учтена "ваша реализация"...

А вот крякозяблики - возможно "лишний" символ сидит в базе.
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: TEdit прыжок курсора вправо при удалении

Сообщение tema » 24.02.2017 21:23:27

Может дело в MariaDB?

Добавлено спустя 18 минут 18 секунд:
Проблема в отображении. Одна буква UTF8 это ведь не один символ. И когда поле маленькое обрезаются буквы, если они по размеру поля. Т.е., если поле в базе объявлено как varchar(6), а буквы 4, то лазаусу нужно 8 и он отрезает буквы или полбуквы, т.к. слишком умничает и создаёт поле строку длиной как указано в базе, но в базе-то длина с учётом utf8, а лазарус делает без учёта.
Такой проблемы в 1.6 нет. Перемудрили в 1.7
tema
постоялец
 
Сообщения: 375
Зарегистрирован: 24.03.2011 20:19:27

Re: TEdit прыжок курсора вправо при удалении

Сообщение zub » 24.02.2017 22:13:01

Отладчик в зубы и вперед. только не забываем что он неумеет показывать "вычислимые" проперти.
Крякозяблины в таблице неверная кодировка или просто "ромбик" добавился?
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: TEdit прыжок курсора вправо при удалении

Сообщение pupsik » 24.02.2017 22:41:14

Крякозяблины в таблице неверная кодировка или просто "ромбик" добавился?
судя по скрину - символ(ы) в "конце строки".
Может стоит узнать: что это за символ?
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: TEdit прыжок курсора вправо при удалении

Сообщение tema » 24.02.2017 23:00:40

pupsik писал(а):
Крякозяблины в таблице неверная кодировка или просто "ромбик" добавился?
судя по скрину - символ(ы) в "конце строки".
Может стоит узнать: что это за символ?

Это не символ, а полсимвола.
Добавил жуткий хак:
Код: Выделить всё
  case FDataType of
    ftString, ftFixedChar, ftMemo:
    begin
      FCodePage := CP_UTF8;
      FSize:=ASize*2;
    end;

Это файл из состава FPC, так что дело не в лазарусе, а опять в библиотеках компилятора.
Работает как надо.

Добавлено спустя 35 минут 44 секунды:
Да ёпрст!!!!
Опять эта viewtopic.php?f=5&t=17326#p112112 проблема но уже в другой программе! :D
Я всего лишь хотел починить TEdit, а нажил гемора уже на три дня! :evil: :evil: :evil:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
tema
постоялец
 
Сообщения: 375
Зарегистрирован: 24.03.2011 20:19:27

Re: TEdit прыжок курсора вправо при удалении

Сообщение zub » 25.02.2017 00:10:48

Повторяю - отладчик не умеет показывать вычислимые проперти, которой является count. попробуй посмотреть fcount.
Смотри что не создано, и выясняй причину почему
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: TEdit прыжок курсора вправо при удалении

Сообщение tema » 25.02.2017 00:34:46

zub писал(а):Повторяю - отладчик не умеет показывать вычислимые проперти, которой является count. попробуй посмотреть fcount.
Смотри что не создано, и выясняй причину почему

Если бы я понимал о чём разговор я бы так и сделал. Я пытался понять, но не понимаю, что мне нужно сделать, чтобы последовать совету
tema
постоялец
 
Сообщения: 375
Зарегистрирован: 24.03.2011 20:19:27

Пред.След.

Вернуться в Lazarus

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

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

Рейтинг@Mail.ru