strannik_nebes писал(а):
Я толком и не понял, что привело к поломке.Этот топик читают: Гость
Ответов: 2433
Рейтинг: 693
|
|||
strannik_nebes, если все работает, то выкладывать ничего и не нужно.
Скорее всего в одной папке с файлом проекта (sha) лежал старый файл кода (pas), что и привело к ошибки. |
|||
карма: 11 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
strannik_nebes писал(а): я бы рад выложить файл, да он, после восстановления компонентов с SVN (обновления), пропалВ папке %HiAsm%/Save искал? --- Добавлено в 2025-06-18 19:45:04 sla8a, ты закончил правки с селектором? Когда выкладывать будем? Редактировалось 1 раз(а), последний 2025-06-18 19:45:04 |
|||
карма: 22 |
|
Ответов: 197
Рейтинг: 5
|
|||
nesco, Самого файла нет во всех папках Hiasm.
|
|||
карма: 1 |
|
Ответов: 2433
Рейтинг: 693
|
|||
nesco писал(а): ты закончил правки с селектором? Если получится прикрутить DragRow как менеджер к таблице, то выложу получившееся. Если не получится, то на данный момент это последнее правки. |
|||
карма: 11 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
sla8a писал(а): Была идея сделать свойство которое позволяло бы оставлять выделенную строку в независимости от действий пользователяНи хрена не понял, но очень интересно. |
|||
карма: 22 |
|
Ответов: 2433
Рейтинг: 693
|
|||
nesco, понимаю что лето и возможно ты лежишь где-то на плЯжу потягиваешь махИто и отгоняешь назойливых дам предлагающих тебе "пошалить". Но надо что-то решать с таблицей
![]() Если смотрел мои наработки по менеджеру RowDrag, то что думаешь. И вот еще тебе интересный момент в таблице: Есть ItemAtPos которое выдает индекс строки, который получает по текущей позиции курсора, и подиндекс (столбца) который присваиваться переменной NewCurIdx как раз в WndProcTabGrid. Выходи что при подключении MST_UseEditCtrl отключается WndProcTabGrid переменная NewCurIdx не обновляется и у ItemAtPos подиндекс всегда равен 0. Мало того что ItemAtPos выдает точный подиндекс только после нажатия на строку таблицы (WM_MOUSEMOVE не задействован), так еще и не работает нормально при подключении MST_UseEditCtrl. Вот тестовая схема, на случай ![]() nesco писал(а): Ни хрена не понял, но очень интересно.![]()
Как и в теме по MST_DragRowManage предлагаю чтоб MST_UseEditCtrl не отключал WndProcTabGrid, как видно из описанного выше, от работы этой функции зависят другие участки кода таблицы. Добавить обработку WM_MOUSEMOVE чтоб обновлять NewCurIdx и блокировать необходимые участки кода при подключении MST_UseEditCtrl. Но тут тебе виднее как это реализовать. Насколько понял то WndProcTabGrid отключается только чтоб не происходило
Редактировалось 3 раз(а), последний 2025-06-26 14:28:06 |
|||
карма: 11 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
Но ты намутил. Делаем одно, и тут выясняется, что куча всего другого вылазит, которое надо либо блокировать, либо не блокировать. И я вообще не знаю пока, как работает конкретно твой модуль, что бы что-то менять в других. У меня сейчас пока нет много времени на серьезное углубление в код.
|
|||
карма: 22 |
|
Ответов: 2433
Рейтинг: 693
|
|||
nesco писал(а): Но ты намутил. |
|||
карма: 11 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
Я еще пока толком не смотрел. Но возник вопрос -- а нам точно надо иметь два обработчика с одинаковым именем? Нельзя ли их сделать независимыми?
|
|||
карма: 22 |
|
Ответов: 2433
Рейтинг: 693
|
|||
nesco писал(а): точно надо иметь два обработчика с одинаковым именем?Уточни о каких двух речь? В ошибки описанной мной выше речь об одном WndProcTabGrid |
|||
карма: 11 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
sla8a писал(а): В ошибки описанной мной выше речь об одном WndProcTabGridЯ про него и говорю. Может стоит их сделать вообще независимыми. |
|||
карма: 22 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
Таак. Первое, что нужно сделать, так это сделать вот так в MST_UseEditCtrl, тогда у тебя заработают все события основного контрола таблицы.
|
|||
карма: 22 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
Вот. Первая редакция по мотивам темы про ItemAtPos -- https://forum.hiasm.com/getfile/40592
Редактировалось 1 раз(а), последний 2025-07-01 03:02:49 |
|||
карма: 22 |
| ||
файлы: 1 | MTStrTbl_ItemAtPos_001.zip [15.8KB] [20] |
Ответов: 2433
Рейтинг: 693
|
|||
nesco, вроде все хорошо, ItemAtPos сейчас выдает постоянно правильные данные. Но вопрос с ThiMTStrTbl.detachwndproc остался открытым. hiMST_Groups тоже отключает detachwndproc, соответственно перестанет работать и ItemAtPos. Если по итогам твоих последних правок отключать detachwndproc в hiMST_Groups не планируется, то не проще ли удалить из ThiMTStrTbl detachwndproc вообще?
|
|||
карма: 11 |
|
Разработчик
Ответов: 26300
Рейтинг: 2146
|
|||
sla8a писал(а): Если по итогам твоих последних правок отключать detachwndproc в hiMST_Groups не планируется, то не проще ли удалить из ThiMTStrTbl detachwndproc вообще?Да он в группах, похоже, и нах не нужен, тк ничего там с таблицей не связано. Добавил в обработчик групп TRY...FINALLY и отключил detachwndproc. Но удалять пока его не буду. Исправления в архиве групп. Редактировалось 1 раз(а), последний 2025-07-01 12:51:30 |
|||
карма: 22 |
|