Вверх ↑
Этот топик читают: Гость
Ответов: 150
Рейтинг: 8
#226: 2020-12-28 17:57:23 ЛС | профиль | цитата
То же наблюдаю глюк с текстом. Компонент выдает оч. странную позицию курсора
Запись_2020_12_28_17_53_48_60.gif
карма: 2

0
Ответов: 8609
Рейтинг: 800
#227: 2020-12-28 18:01:29 ЛС | профиль | цитата
Fangir, в последней схеме замените onMouseUp на кнопку, вдруг у вас дребезг в мыши
(По баллонам ногой постучать -- крайнее средство )
карма: 18

0
Ответов: 4348
Рейтинг: 678
#228: 2020-12-28 18:16:10 ЛС | профиль | цитата
Смахивает на использование знакового 16-битного целого при получении позиции. Нужно беззнаковое 16 или 32-битное.
карма: 25

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#229: 2020-12-28 18:49:18 ЛС | профиль | цитата
Netspirit писал(а):
Смахивает на использование знакового 16-битного целого при получении позиции. Нужно беззнаковое 16 или 32-битное.

Да, действительно, предельное значение 32767. Но если используется стандартное сообщение для получения позиции, с wParam и lParam, то как раз там и будет ограничение в 32767 в знаковом или 65535 в беззнаковом.
Но это прикол уже библиотеки. Вот это место
function TControl.GetSelStart: Integer;
var SR: TCharRange;
begin
Result := 0;
if fCommandActions.aGetSelRange <> 0 then
Result := LoWord( Perform( fCommandActions.aGetSelRange, 0, 0 ) )
else
if fCommandActions.aExGetSelRange <> 0 then
begin
Perform( fCommandActions.aExGetSelRange, 0, Integer( @SR ) );
Result := SR.cpMin;
end;
end;
Для multiEdit-a, чем, кстати, и является Memo, применяется именно первая часть условия, вторая же применяется для RichEdit-a.
Тут можно посоветовать только попробовать RichEdit в качестве селектора.

Редактировалось 4 раз(а), последний 2020-12-28 19:07:34
карма: 20

0
Ответов: 8609
Рейтинг: 800
#230: 2020-12-28 19:37:16 ЛС | профиль | цитата
nesco, загружаю 2.5 Мб и из файла, и через doText -- и всё работает, позиция последней точки 2456203 тоже правильно выдаёт.
(Шаловливыми ручками ничего не трогал )
карма: 18

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#231: 2020-12-28 19:45:34 ЛС | профиль | цитата
Леонид писал(а):
через doText

Те у тебя точка Position компонента Memo выдает 2456203, и куда бы ты не ткнул курсор всегда положительные значения? Может у тебя библиотека KOL не дефолтная? Потому что в дефолтной библиотеке значения крутятся по кругу от 0 до 32767, затем от -32767 до 0 и тд.
Самое интересное, что в старом FPC значение беззнаковое -- от 0 до 65535, дальше опять с 0.

Редактировалось 4 раз(а), последний 2020-12-28 19:51:27
карма: 20

0
Ответов: 8609
Рейтинг: 800
#232: 2020-12-28 21:54:02 ЛС | профиль | цитата
nesco писал(а):
курсор всегда положительные значения?
Да! Компилятор Delphi, а вот KOL.pas от 14.10.2013, 1963 кб.

Редактировалось 1 раз(а), последний 2020-12-28 21:54:33
карма: 18

0
Ответов: 27
Рейтинг: 0
#233: 2020-12-29 00:17:10 ЛС | профиль | цитата
Перешел на 10-ку с XP пару месяцев назад. Сделал чистую установку среды. Прочитав последние сообщения от Леонида и nesco, про kol.pas вспомнил, что когда-то уже сталкивался с похожими проблемами. Покопался в загашниках и нашел то, что у меня называется !KollsFromGalkov.rar. Было найдено где-то тут, на форуме. Выкладываю (надеюсь, что сам господин Galkov не будет против!).
После установки ВСЕ БАГИ ИСЧЕЗЛИ. Большое спасибо всем за помощь! В спойлере gifka, как это теперь происходит, архив с KOL-ами под сообщением.

Редактировалось 4 раз(а), последний 2020-12-29 00:59:41
карма: 0

0
файлы: 1!KollsFromGalkov.rar [746.4KB] [28]
Ответов: 8609
Рейтинг: 800
#234: 2020-12-29 11:12:40 ЛС | профиль | цитата
Fangir, "Ура-а! Заработало!"
карма: 18

0
234
Сообщение
...
Прикрепленные файлы
(файлы не залиты)