Вверх ↑
Этот топик читают: Гость
Ответов: 699
Рейтинг: 145
#16: 2023-11-13 22:55:33 ЛС | профиль | цитата
envoy_sky писал(а):
Не тот отправил,

Да, с этим pas-файлом всё работает.
Я так понимаю, этот файл был изменён в 2402 ревизии SVN.

Редактировалось 1 раз(а), последний 2023-11-13 23:07:09
карма: 15

0
Ответов: 55
Рейтинг: 1
#17: 2023-11-14 08:12:54 ЛС | профиль | цитата
Поддерживаю Gunta. У меня именно такая же конфигурация системы и штатный комплект компонентов (не модифицированный).
карма: 0

0
Ответов: 284
Рейтинг: 23
#18: 2023-11-14 10:02:36 ЛС | профиль | цитата
Вот три файла https://forum.hiasm.com/getfile/39640
В папке work1 самый старый рабочий файл
В папке work2 файл который давал выше тоже рабочий
В папке not_work с которым не работает.
карма: 2
0
Ответов: 2200
Рейтинг: 673
#19: 2023-11-14 17:25:57 ЛС | профиль | цитата
envoy_sky писал(а):
В папке work1 самый старый рабочий файл
В папке work2 файл который давал выше тоже рабочий

Запустить тестовую схему:
(Gunta автор, тут продублирую для удобства)

Add(MainForm,6539903,581,119)
{
Width=736
Height=695
link(onCreate,3682515:doConvert,[])
}
Add(MST_ColAction,4139610,735,133)
{
Action=9
MaxColWidth=1000
Index=-2
MSTControl="tabl"
}
Add(MST_Load,571213,686,126)
{
Delimiter="\t"
LoadCheckBoxes=0
MSTControl="tabl"
link(onLoadFromStream,4139610:doColAction,[])
}
Add(StreamConvertor,3682515,637,133)
{
Mode=7
link(onResult,571213:doLoadFromStream,[])
link(Data,6934679:Text,[])
}
Add(StrList,6934679,637,77)
{
Strings=#42:Item Description Quantity Unit Price Value|66:0\t13930 Double-action Quickstart II rem. L=740mm 1 PC 98,66 98,66|56:0\t13100201 Spray gun for udder washer 20 PC 17,77 355,4|52:0\t13246007 COMBI-cock ш51 mm cpl. 10 PC 63,43 634,3|54:0\t25643301 Milk hose ш 24/14 x 2750 32 PC 9,76 312,32|59:0\t14291 Service no.1 RDS MAX double box 1 PC 250,51 250,51|57:0\t24144638 Spiral spring for tube filter 3 PC 43,2 129,6|43:0\t22121763 V-belt spz 1087 4 PC 5,91 23,64|64:0\tMH0015 Repair kit non-rotating cylinder ш40mm 8 PC 14,3 114,4|51:0\tGS9835 Revision set SAC Unipuls 4 PC 13,97 55,88|55:0\t22121735 El-motor 3,0kw 3x400v 1400 1 PC 186,4 186,4|58:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 10 PC 16,92 169,2|58:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 10 PC 16,92 169,2|57:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 2 PC 16,92 33,84|67:0\t21200159 Top part UNIFL3/4 for steel bot.part 25 PC 30,09 752,25|60:0\t24400111 Hose f. pump compl. UNIWASH 153 PC 10,58 1618,74|61:0\t13225 Piston complete for valve UNIWASH3 4 PC 27,09 108,36|63:0\t12200105 Vacuumgauge glycerine ш100mm 3/8" 5 PC 40,57 202,85|0:|
}
Add(MTStrTbl,15214105,644,224)
{
Width=720
Height=656
Align=5
Name="tabl"
ColorItems=0
Redaction=0
CheckBoxes=0
Grid=0
Point(onBeforeLineChange)
Point(onLineChange)
link(onBeforeLineChange,8042369:doEvent,[])
link(onLineChange,12426016:doEvent,[(683,265)(683,272)])
}
Add(Debug,8042369,707,252)
{
LogCount=100
}
Add(Debug,12426016,693,266)
{
LogCount=100
}
1. Включить/выключить чекбоксы в любых нескольких строках, убедиться что чекбоксы исправно работают.
2. Начать редактировать любые строки (двойным кликом на строку) и выходить из редактирования двойным кликом на пустое место таблицы (внизу где нет строк).
3. Повторить пункт 2 несколько раз.
4. Увидев что чекбоксы перестали отрисовываться, убедиться что 1 пункт вышел из чата...

Смотрим код в "не рабочих" pas файлах в процедурах _OnBeforeLineChange и _OnLineChange.
Видим такую строку, которая отсутствует в "рабочих" pas файлах:
hiMTStrTbl.pas (rev.2404) писал(а):
if CBvalue = 0 then exit;//Fix: Error draw checkbox after dbclik on empty area if Redaction = True (sla8a 2021.10.12)

Два года заплатка продержалась

Вывод: пока ремонтировали одно, сломалось другое.

Протестируйте этот файл: https://forum.hiasm.com/getfile/39641

Это с svn (rev.2404), c изменениями только в процедурах _OnBeforeLineChange и _OnLineChange. Нужно протестировать и вывод событий и отрисовку чекбоксов как описано выше.

Редактировалось 1 раз(а), последний 2023-11-14 17:27:22
карма: 11

0
Ответов: 284
Рейтинг: 23
#20: 2023-11-14 18:31:20 ЛС | профиль | цитата
sla8a писал(а):
Нужно протестировать и вывод событий и отрисовку чекбоксов как описано выше.

Вроде всё работает, ошибок не заметил.
Вот только есть одно НО, теперь не работает AdjustControls.
Нужно использовать pas файл из папки work2 он же и есть из комплекта AdjustControls.
Тогда работает и тут и там.

Теперь я понял почему у меня работает а у других не нет.
У меня pas файл от AdjustControls стоит.
У кого не стоит AdjustControls используйте файл от sla8a который выше.

AdjustControls очень классный компонент, огромный респект кто делал.

Редактировалось 4 раз(а), последний 2023-11-14 19:03:39
карма: 2
0
Ответов: 2200
Рейтинг: 673
#21: 2023-11-14 19:02:08 ЛС | профиль | цитата
envoy_sky писал(а):
теперь не работает AdjustControls.
В первую очередь нужно MTStrTbl починить, это стандартный компонент. AdjustControls нестандартный компонент и не всегда получается обновлять нужные для его работы файлы (на данный момент обновил архив в теме по элементу для тестирования).
карма: 11

1
Голосовали:Gunta
Ответов: 284
Рейтинг: 23
#22: 2023-11-14 19:08:13 ЛС | профиль | цитата
sla8a писал(а):
на данный момент обновил архив в теме по элементу для тестирования

Дык работало всё у меня, что там исправлять?
карма: 2
0
Ответов: 2200
Рейтинг: 673
#23: 2023-11-14 19:16:15 ЛС | профиль | цитата
envoy_sky писал(а):
Дык работало всё у меня, что там исправлять?
hiMTStrTbl.pas в архиве лежал очень старый и там не было заплатки которая исправляла отрисовку чекбоксов и портила вывод событий. Это и поправил (надеюсь) чтоб и чекбоксы рисовало и события выдавало.
карма: 11

0
Ответов: 2200
Рейтинг: 673
#24: 2023-11-16 11:39:04 ЛС | профиль | цитата
Вот странно что ТС молчит,его или не интересовал конечный результат или у него заработало и нормально.
У кого будет возможность протестируйте, если проблем не возникнет, то попробую связаться с nesco чтоб внести правки на SVN.
карма: 11

0
Ответов: 245
Рейтинг: 4
#25: 2023-11-17 19:18:27 ЛС | профиль | цитата
sla8a писал(а):
Вот странно что ТС молчит,его или не интересовал конечный результат или у него заработало и нормально.
У кого будет возможность протестируйте, если проблем не возникнет, то попробую связаться с nesco чтоб внести правки на SVN.

Работает вроде бы нормально.
А вот событие клик мыша по тексту нет, только двойной клик.


Add(MainForm,6539903,294,301)
{
Width=736
Height=695
link(onCreate,3682515:doConvert,[])
}
Add(MST_ColAction,4139610,448,315)
{
Action=9
MaxColWidth=1000
Index=-2
MSTControl="tabl"
}
Add(MST_Load,571213,399,308)
{
Delimiter="\t"
LoadCheckBoxes=0
MSTControl="tabl"
link(onLoadFromStream,4139610:doColAction,[])
}
Add(StreamConvertor,3682515,350,315)
{
Mode=7
Point(Data)
link(onResult,571213:doLoadFromStream,[])
link(Data,6934679:Text,[])
}
Add(StrList,6934679,350,259)
{
Strings=#42:Item Description Quantity Unit Price Value|66:0\t13930 Double-action Quickstart II rem. L=740mm 1 PC 98,66 98,66|56:0\t13100201 Spray gun for udder washer 20 PC 17,77 355,4|52:0\t13246007 COMBI-cock ш51 mm cpl. 10 PC 63,43 634,3|54:0\t25643301 Milk hose ш 24/14 x 2750 32 PC 9,76 312,32|59:0\t14291 Service no.1 RDS MAX double box 1 PC 250,51 250,51|57:0\t24144638 Spiral spring for tube filter 3 PC 43,2 129,6|43:0\t22121763 V-belt spz 1087 4 PC 5,91 23,64|64:0\tMH0015 Repair kit non-rotating cylinder ш40mm 8 PC 14,3 114,4|51:0\tGS9835 Revision set SAC Unipuls 4 PC 13,97 55,88|55:0\t22121735 El-motor 3,0kw 3x400v 1400 1 PC 186,4 186,4|58:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 10 PC 16,92 169,2|58:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 10 PC 16,92 169,2|57:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 2 PC 16,92 33,84|67:0\t21200159 Top part UNIFL3/4 for steel bot.part 25 PC 30,09 752,25|60:0\t24400111 Hose f. pump compl. UNIWASH 153 PC 10,58 1618,74|61:0\t13225 Piston complete for valve UNIWASH3 4 PC 27,09 108,36|63:0\t12200105 Vacuumgauge glycerine ш100mm 3/8" 5 PC 40,57 202,85|0:|
}
Add(MTStrTbl,15214105,357,406)
{
Width=720
Height=656
Align=5
Name="tabl"
ColorItems=0
Redaction=0
CheckBoxes=0
Grid=0
Point(onBeforeLineChange)
Point(onLineChange)
Point(onMouseUp)
link(onBeforeLineChange,8042369:doEvent,[])
link(onLineChange,12426016:doEvent,[])
link(onMouseUp,12089541:doEvent,[])
}
Add(Debug,8042369,420,434)
{
LogCount=100
}
Add(Debug,12426016,420,441)
{
LogCount=100
}
Add(Debug,12089541,420,448)
{
}


Редактировалось 3 раз(а), последний 2023-11-17 19:19:24
карма: 1

0
Ответов: 699
Рейтинг: 145
#26: 2023-11-17 19:32:40 ЛС | профиль | цитата
sla8a писал(а):
У кого будет возможность протестируйте,

Если быстро кликать то ПКМ то ЛКМ то некоторые строки пропадают а другие дублируются.

Небольшое уточнение. Двойной клик ЛКМ, потом клик ПКМ по другой строке.
Если сначала двойной клик ЛКМ по пустому месту, а затем ПКМ по любой строке то она сотрётся.


Проблемы с MTStrTbl.PNG

Редактировалось 2 раз(а), последний 2023-11-17 19:52:46
карма: 15

0
Ответов: 2200
Рейтинг: 673
#27: 2023-11-17 19:40:22 ЛС | профиль | цитата
ric писал(а):
А вот событие клик мыша по тексту нет, только двойной клик.
Оно как бы есть. Попробуйте после нажатия немного сдвинуть курсор и потом отпустить. Или вот для наглядности:
Add(MainForm,6539903,329,196)
{
Width=736
Height=695
link(onCreate,3682515:doConvert,[])
}
Add(MST_ColAction,4139610,483,210)
{
Action=9
MaxColWidth=1000
Index=-2
MSTControl="tabl"
}
Add(MST_Load,571213,434,203)
{
Delimiter="\t"
LoadCheckBoxes=0
MSTControl="tabl"
link(onLoadFromStream,4139610:doColAction,[])
}
Add(StreamConvertor,3682515,385,210)
{
Mode=7
link(onResult,571213:doLoadFromStream,[])
link(Data,6934679:Text,[])
}
Add(StrList,6934679,385,154)
{
Strings=#42:Item Description Quantity Unit Price Value|66:0\t13930 Double-action Quickstart II rem. L=740mm 1 PC 98,66 98,66|56:0\t13100201 Spray gun for udder washer 20 PC 17,77 355,4|52:0\t13246007 COMBI-cock ш51 mm cpl. 10 PC 63,43 634,3|54:0\t25643301 Milk hose ш 24/14 x 2750 32 PC 9,76 312,32|59:0\t14291 Service no.1 RDS MAX double box 1 PC 250,51 250,51|57:0\t24144638 Spiral spring for tube filter 3 PC 43,2 129,6|43:0\t22121763 V-belt spz 1087 4 PC 5,91 23,64|64:0\tMH0015 Repair kit non-rotating cylinder ш40mm 8 PC 14,3 114,4|51:0\tGS9835 Revision set SAC Unipuls 4 PC 13,97 55,88|55:0\t22121735 El-motor 3,0kw 3x400v 1400 1 PC 186,4 186,4|58:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 10 PC 16,92 169,2|58:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 10 PC 16,92 169,2|57:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 2 PC 16,92 33,84|67:0\t21200159 Top part UNIFL3/4 for steel bot.part 25 PC 30,09 752,25|60:0\t24400111 Hose f. pump compl. UNIWASH 153 PC 10,58 1618,74|61:0\t13225 Piston complete for valve UNIWASH3 4 PC 27,09 108,36|63:0\t12200105 Vacuumgauge glycerine ш100mm 3/8" 5 PC 40,57 202,85|0:|
}
Add(MTStrTbl,15214105,392,301)
{
Width=720
Height=656
Align=5
Name="tabl"
ColorItems=0
Redaction=0
CheckBoxes=0
Grid=0
Point(onBeforeLineChange)
Point(onLineChange)
Point(onMouseUp)
Point(onMouseDown)
link(onBeforeLineChange,8042369:doEvent,[])
link(onLineChange,12426016:doEvent,[])
link(onMouseUp,12089541:doEvent,[])
link(onMouseDown,5433745:doMove,[])
}
Add(Debug,8042369,434,329)
{
VDName=""
LogCount=100
}
Add(Debug,12426016,434,336)
{
VDName=""
LogCount=100
}
Add(Debug,12089541,434,343)
{
VDName=""
}
Add(MouseEvent,5433745,518,343)
{
link(X,1893794:Text,[])
}
Add(VisualStrings,1893794,525,308)
{
Lines=#1:4|
}
Причем если изменить сдвиг на 3 пикселя, то уже не работает. Почему-то UpMouse срабатывает только если курсор сдвинулся как минимум на 4 пикселя от нажатия. Почему так затрудняюсь сказать, но это точно не вина моей правки.
--- Добавлено в 2023-11-17 20:05:30

Gunta писал(а):
некоторые строки пропадают а другие дублируются.
Скорее всего при ПКМ не заканчивается редактирование и строка начинает "блуждать". Можно поправить вот так:
Add(MainForm,6539903,203,119)
{
Width=736
Height=695
link(onCreate,3682515:doConvert,[])
}
Add(MST_ColAction,4139610,357,133)
{
Action=9
MaxColWidth=1000
Index=-2
MSTControl="tabl"
}
Add(MST_Load,571213,308,126)
{
Delimiter="\t"
LoadCheckBoxes=0
MSTControl="tabl"
link(onLoadFromStream,4139610:doColAction,[])
}
Add(StreamConvertor,3682515,259,133)
{
Mode=7
link(onResult,571213:doLoadFromStream,[])
link(Data,6934679:Text,[])
}
Add(StrList,6934679,259,77)
{
Strings=#42:Item Description Quantity Unit Price Value|66:0\t13930 Double-action Quickstart II rem. L=740mm 1 PC 98,66 98,66|56:0\t13100201 Spray gun for udder washer 20 PC 17,77 355,4|52:0\t13246007 COMBI-cock ш51 mm cpl. 10 PC 63,43 634,3|54:0\t25643301 Milk hose ш 24/14 x 2750 32 PC 9,76 312,32|59:0\t14291 Service no.1 RDS MAX double box 1 PC 250,51 250,51|57:0\t24144638 Spiral spring for tube filter 3 PC 43,2 129,6|43:0\t22121763 V-belt spz 1087 4 PC 5,91 23,64|64:0\tMH0015 Repair kit non-rotating cylinder ш40mm 8 PC 14,3 114,4|51:0\tGS9835 Revision set SAC Unipuls 4 PC 13,97 55,88|55:0\t22121735 El-motor 3,0kw 3x400v 1400 1 PC 186,4 186,4|58:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 10 PC 16,92 169,2|58:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 10 PC 16,92 169,2|57:0\t23544122 Carbon disc ш44,7/38,3x5,8mm 2 PC 16,92 33,84|67:0\t21200159 Top part UNIFL3/4 for steel bot.part 25 PC 30,09 752,25|60:0\t24400111 Hose f. pump compl. UNIWASH 153 PC 10,58 1618,74|61:0\t13225 Piston complete for valve UNIWASH3 4 PC 27,09 108,36|63:0\t12200105 Vacuumgauge glycerine ш100mm 3/8" 5 PC 40,57 202,85|0:|
}
Add(MTStrTbl,15214105,266,224)
{
Width=720
Height=656
Align=5
Name="tabl"
ColorItems=0
Redaction=0
CheckBoxes=0
Grid=0
Point(onBeforeLineChange)
Point(onLineChange)
Point(onMouseDown)
link(onBeforeLineChange,8042369:doEvent,[])
link(onLineChange,12426016:doEvent,[])
link(onMouseDown,11284032:doEvent,[])
}
Add(Debug,8042369,329,252)
{
WEName="before"
VDName=""
LogCount=100
}
Add(Debug,12426016,364,259)
{
WEName="after"
VDName=""
LogCount=100
}
Add(Debug,11284032,329,266)
{
WEName="down"
VDName=""
LogCount=100
link(onEvent,12146372:doEditEnd,[])
}
Add(MST_EditEnd,12146372,392,266)
{
MSTControl="tabl"
}
Или внести такую правку в процедуру _OnMouseDown
procedure ThiMTStrTbl._OnMouseDown;
begin
if getfredaction then Control.Perform(WM_KEYDOWN, 27, 0);//Fix: Error closing editing when right-clicking on the next line (sla8a 2023.11.17)
sel := Control.LVCurItem;
GMouse := true;
inherited;
end;

nesco, если ты тут, то глянь.

Редактировалось 2 раз(а), последний 2023-11-17 20:07:30
карма: 11

1
Голосовали:zhorik5
Ответов: 245
Рейтинг: 4
#28: 2023-11-18 19:00:55 ЛС | профиль | цитата
sla8a писал(а):

А вот событие клик мыша по тексту нет, только двойной клик.
Оно как бы есть. Попробуйте после нажатия немного сдвинуть курсор и потом отпустить.

хорошая затычка пойдет, благодарствую
карма: 1

0
Ответов: 284
Рейтинг: 23
#29: 2023-11-19 12:04:26 ЛС | профиль | цитата
Gunta писал(а):
procedure ThiMTStrTbl._OnMouseDown;
begin
if getfredaction then Control.Perform(WM_KEYDOWN, 27, 0);//Fix: Error closing editing when right-clicking on the next line (sla8a 2023.11.17)
sel := Control.LVCurItem;
GMouse := true;
inherited;
end;

Строки перестали исчезать.
карма: 2
0
Разработчик
Ответов: 26066
Рейтинг: 2120
#30: 2023-11-20 16:12:09 ЛС | профиль | цитата
Всем Привет! Самое интересное в этой теме, что мне не удалось повторить ошибку, по методике sla8a. Нужно небольшое уточнение -- у всех стоит мой патч? Дело в том, что меня он стоит и ошибки с пропаданием чекбоксов я не вижу. Может я чего-то не так делаю, и не правильно повторяю методику проверки

--- Добавлено в 2023-11-20 16:39:19

А с правой кнопкой на другой линии -- да, надо исправлять.

--- Добавлено в 2023-11-20 16:53:06

sla8a, ты это, подробнее объясни, что делает твоя первая правка из это темы? У меня что с ней, что без нее одинаково работает

Редактировалось 2 раз(а), последний 2023-11-20 16:53:06
карма: 22

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