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

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

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

0
Разработчик
Ответов: 26251
Рейтинг: 2140
#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
карма: 22

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

0
Разработчик
Ответов: 26251
Рейтинг: 2140
#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
карма: 22

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

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

0
Ответов: 41
Рейтинг: 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] [507]
Ответов: 8945
Рейтинг: 824
#234: 2020-12-29 11:12:40 ЛС | профиль | цитата
Fangir, "Ура-а! Заработало!"
карма: 19

0
Ответов: 41
Рейтинг: 0
#235: 2023-01-04 06:14:20 ЛС | профиль | цитата
Добрые люди. Всех с Новым годом. Я тут, наверное, корифей, на этой ветке
Тут уже три поста:
https://forum.hiasm.com/topic/67255
Если не сложно, помогите.

Редактировалось 1 раз(а), последний 2023-01-04 06:14:36
карма: 0

0
Ответов: 41
Рейтинг: 0
#236: 2025-03-19 13:08:53 ЛС | профиль | цитата
Доброго дня всем. Кто не дает умереть этой ветке? Правильно это я... Вечно начинающий.
Возможно баг. Или же -- я опять туплю.

Компонент Img_Gradient в режимах SingleRight и SingleLeft у меня работают неверно.
Гляньте, пожалуйста, если не трудно. Вот схема:

Add(MainForm,2953706,21,105)
{
Width=631
Height=524
Caption="Gradient Bag"
link(onCreate,10071126:doEvent1,[])
}
Add(Img_Gradient,5157883,308,119)
{
Point1=851982
Point2=20119798
GradientStyle=4
StartColor=16777215
EndColor=255
Point(doGradientStyle)
link(onDraw,3977477:doWork2,[])
link(Bitmap,5269842:Var2,[])
}
Add(PaintBox,4328196,308,35)
{
Left=10
Top=10
Width=600
Height=465
Color=16777215
Cursor=16
MouseCapture=0
}
Add(Hub,10071126,77,119)
{
link(onEvent1,5157883:doDraw,[])
link(onEvent2,3353595:doDraw,[(95,132)(95,181)])
}
Add(GetDataEx,5269842,308,98)
{
link(Data,4328196:Bitmap,[])
}
Add(Img_Gradient,3353595,294,175)
{
Point1=852240
Point2=19923442
GradientStyle=5
StartColor=16777215
EndColor=255
Point(doGradientStyle)
link(onDraw,3977477:doWork3,[(370,181)])
link(Bitmap,5269842:Var1,[(300,103)])
}
Add(HubEx,3977477,366,119)
{
Angle=3
link(onEvent,4328196:doRefresh,[(370,82)(296,82)(296,41)])
}
Add(LineBreakEx,3811113,140,203)
{
Caption="SingleRight"
Type=1
link(OnEvent,3353595:doGradientStyle,[(247,209)(247,188)])
}
Add(LineBreakEx,12621473,140,140)
{
Caption="SingleLeft"
Type=1
link(OnEvent,5157883:doGradientStyle,[(250,146)(250,132)])
}
Add(InfoTip,4552655,126,70)
{
Info=#39:Два этих режима у меня работают странно|
Font=[MS Sans Serif,8,1,255,1]
Width=99
Height=179
}

карма: 0

0
Ответов: 183
Рейтинг: 4
#237: 2025-03-19 13:23:39 ЛС | профиль | цитата
Так, вроде работает

Add(MainForm,14850065,105,336)
{
Width=916
Height=524
Caption="Gradient Bag"
link(onCreate,10071126:doEvent1,[])
}
Add(Img_Gradient,5157883,392,350)
{
Point1=851982
Point2=20119798
GradientStyle=4
StartColor=16777215
EndColor=255
Point(doGradientStyle)
link(onDraw,3977477:doWork2,[])
link(Bitmap,5269842:Var2,[])
}
Add(PaintBox,4328196,392,266)
{
Left=10
Top=10
Width=600
Height=465
Color=16777215
Cursor=16
MouseCapture=0
}
Add(Hub,10071126,161,350)
{
link(onEvent1,12117036:doWork2,[])
link(onEvent2,3353595:doDraw,[(179,363)(179,412)])
}
Add(GetDataEx,5269842,392,329)
{
link(Data,4328196:Bitmap,[])
}
Add(Img_Gradient,3353595,378,406)
{
Point1=852240
Point2=19923442
GradientStyle=5
StartColor=16777215
EndColor=255
Point(doGradientStyle)
link(onDraw,3977477:doWork3,[(454,412)])
link(Bitmap,5269842:Var1,[(384,334)])
}
Add(HubEx,3977477,450,350)
{
Angle=3
link(onEvent,4328196:doRefresh,[(454,313)(380,313)(380,272)])
}
Add(LineBreakEx,3811113,224,434)
{
Caption="SingleRight"
Type=1
link(OnEvent,3353595:doGradientStyle,[(331,440)(331,419)])
}
Add(LineBreakEx,12621473,224,371)
{
Caption="SingleLeft"
Type=1
link(OnEvent,5157883:doGradientStyle,[(334,377)(334,363)])
}
Add(InfoTip,4552655,210,301)
{
Info=#39:Два этих режима у меня работают странно|
Font=[MS Sans Serif,8,1,255,1]
Width=99
Height=179
}
Add(LineBreakEx,2508539,224,147)
{
Caption="SingleLeft"
}
Add(ComboBox,1562696,126,140)
{
Left=630
Top=15
Width=155
Height=21
Strings=#10:SingleVert|11:SingleHoriz|10:DoubleVert|12:DoubleHoriz |10:SingleLeft|11:SingleRight|10:DoubleLeft|11:DoubleRight|13:AngleLeftTop |13:AngleLeftBott|13:AngleRightTop|14:AngleRightBott|6:Center|0:|
link(onClick,14186360:doEvent1,[])
}
Add(Hub,14186360,189,147)
{
link(onEvent1,2508539:doWork,[])
link(onEvent2,12117036:doWork1,[(340,160)])
}
Add(HubEx,12117036,336,350)
{
link(onEvent,5157883:doDraw,[])
}

карма: 1

1
Голосовали:Fangir
Ответов: 41
Рейтинг: 0
#238: 2025-03-19 13:30:37 ЛС | профиль | цитата
strannik_nebes, спасибо!

--- Добавлено в 2025-03-19 14:20:38

strannik_nebes, спасибо за отзывчивость. Но, у меня все равно происходит глюк. Я поправил ComboBox чтобы совпадали режимы отрисовки.


Add(MainForm,13877883,336,329)
{
Width=916
Height=524
Caption="Gradient Bag"
link(onCreate,10071126:doEvent1,[])
}
Add(Img_Gradient,5157883,623,343)
{
Point1=851982
Point2=20119798
GradientStyle=4
StartColor=16777215
EndColor=255
Point(doGradientStyle)
link(onDraw,3977477:doWork2,[])
link(Bitmap,5269842:Var2,[])
}
Add(PaintBox,4328196,623,259)
{
Left=10
Top=10
Width=600
Height=465
Color=16777215
Cursor=16
MouseCapture=0
}
Add(Hub,10071126,392,343)
{
link(onEvent1,12117036:doWork2,[])
link(onEvent2,7152034:doWork2,[(410,356)(410,405)])
}
Add(GetDataEx,5269842,623,322)
{
link(Data,4328196:Bitmap,[])
}
Add(Img_Gradient,3353595,609,399)
{
Point1=852240
Point2=19923442
GradientStyle=5
StartColor=16777215
EndColor=255
Point(doGradientStyle)
link(onDraw,3977477:doWork3,[(685,405)])
link(Bitmap,5269842:Var1,[(615,327)])
}
Add(HubEx,3977477,681,343)
{
Angle=3
link(onEvent,4328196:doRefresh,[(685,306)(611,306)(611,265)])
}
Add(InfoTip,4552655,301,91)
{
Info=#30:Глюк, если выбрать SingleRight|
Font=[MS Sans Serif,8,1,255,1]
Width=148
}
Add(ComboBox,1562696,357,133)
{
Left=630
Top=50
Width=155
Height=21
Strings=#15:00 - SingleVert|16:01 - SingleHoriz|15:02 - SingleLeft|16:03 - SingleRight|15:04 - DoubleVert|16:05 - DoubleHoriz|15:06 - DoubleLeft|16:07 - DoubleRight|17:08 - AngleLeftTop|18:09 - AngleLeftBott|18:10 - AngleRightTop|19:11 - AngleRightBott|11:12 - Center|
link(onClick,14186360:doEvent1,[])
}
Add(Hub,14186360,420,140)
{
OutCount=4
link(onEvent1,5157883:doGradientStyle,[(578,146)(578,356)])
link(onEvent2,12117036:doWork1,[(571,153)])
link(onEvent3,3353595:doGradientStyle,[(552,160)(552,412)])
link(onEvent4,7152034:doWork1,[(543,167)])
}
Add(HubEx,12117036,567,343)
{
link(onEvent,5157883:doDraw,[])
}
Add(HubEx,7152034,539,399)
{
link(onEvent,3353595:doDraw,[])
}
Add(Label,1343101,462,91)
{
Left=630
Top=15
Caption="03 - SingleRight"
}

Редактировалось 1 раз(а), последний 2025-03-19 14:20:38
карма: 0

0
Разработчик
Ответов: 26251
Рейтинг: 2140
#239: 2025-03-19 16:10:47 ЛС | профиль | цитата
Подтверждаю, что тут какая-то чешуя творится с SingleLeft и SingleRight, особенно с последним. С SingleLeft заметно, что градиент разный на двух картинках, а должен быть одинаковый. На SingleRight тоже заметно, но там еще и черный треугольник появляется.
Попробую исправить этот баг, но нужно время, тк я уже успел забыть, что там к чему
карма: 22

0
Ответов: 183
Рейтинг: 4
#240: 2025-03-19 16:19:17 ЛС | профиль | цитата
nesco, координаты влияют
карма: 1

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