Вопрос про курсор

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Вопрос про курсор

Сообщение Игорь Столяров »

Привет всем !

Подскажите пожалуйста, а кто-нибудь сейчас юзает в современных приложениях SetCursor(...) ?
Надо ли оно вообще в современных реалиях, особенно в мульти-птоковых приложениях ?

Копаю старое приложение - там переключение курсоров при каждом цикле обработки.
Поймал себя на мысли, что мы сейчас эту забаву с переключением курсоров вообще забросили.
Есть индикатор - в виде строки с указанием процента выполнения и/или PROGRESS и всё ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Вопрос про курсор

Сообщение finsoftrz »

Вроде ничего не забыл.

1. Сплиттер при наведении и перетаскивании разделителя.
2. Панель переключения потоков.
3. Cursor:Wait в мелких обработках, когда прогрессор выводить нет смысла.
4. Cursor:cross в рисовалках (дизайнер бланков, карты) в режиме размещения нового элемента.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Вопрос про курсор

Сообщение Игорь Столяров »

finsoftrz писал(а): 17 Апрель 2023, 22:10 3. Cursor:Wait в мелких обработках, когда прогрессор выводить нет смысла
Да, конечно - вопрос про обработки CURSOR:WAIT. :)
Т.е. Вы показываете выполнение курсором ...

Просто в Multi-MDI установленный курсор действует везде.
Если в окне идёт расчёт, то при наведении на TOOLBAR APPFRAME курсор всё равно "часиками".
Хотя возможно, нужно как-то это отрабывать и переключать курсор ... но проще вообще не переключать. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Вопрос про курсор

Сообщение finsoftrz »

Когда курсор ожидания выводится, все послушно ждут. На то он и курсор такой. Это же на достаточно быстрых операциях. Если долго, то прогрессор. Просто курсором ожидания информируем, что программа что-то там делает. Для наглядности, можно, конечно, и без него.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 236
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

Вопрос про курсор

Сообщение SergioRaguzini »

Игорь Столяров писал(а): 17 Апрель 2023, 20:40 кто-нибудь сейчас юзает в современных приложениях SetCursor(...)
Привет Всем!

Наверное, использование смены курсора при обработке, например,
SETCURSOR(CURSOR:Wait) ! turn on hourglass mouse cursor
и, в конце операции
SETCURSOR ! turn off hourglass
все же является "правилом хорошего тона" и как праивильно заметил выше Вячеслав, пусть пользователи ждут, не смотря на то что операция, вроде бы и доступна, но на Toolbar пользователь нверняка обратит внимание, что курсор в ожидании и м.б. воздержится от лишних кликов



! turn on hourglass mouse cursor
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Вопрос про курсор

Сообщение Игорь Столяров »

SergioRaguzini писал(а): 18 Апрель 2023, 11:15 воздержится от лишних кликов
Вот это сейчас было про многопоточные приложения в 2023 г. или как ? ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Вопрос про курсор

Сообщение finsoftrz »

Стесняюсь спросить, в чем разница между многопоточными приложениями в 2023 и в 2003 годах?
Кстати, в кларионе многопоточность сама по себе весьма специфичная, не как в других системах.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Вопрос про курсор

Сообщение Игорь Столяров »

finsoftrz писал(а): 18 Апрель 2023, 11:26 в чем разница между многопоточными приложениями в 2023 и в 2003 годах
В MDI модели RunTime. Всё-таки для C50 (2003 г.) и C11 (2023 г.) - она разная.
Координальные изменения были в C55 и нормально всё уже работало в C63.
Ну и поддержка на стороне ABC шаблонов. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 236
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

Вопрос про курсор

Сообщение SergioRaguzini »

Наверное, "многопоточность" при применении вида курсора все же отходит на второй план. Измененный внешний вид курсора, например, при Cursor:Wait должен сказать пользователю, что идет некий процесс обработки. Если мы не хотим информировать пользователя о работающем процессе, нам ведь не обязательно изменять курсор, разве не так?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Вопрос про курсор

Сообщение Игорь Столяров »

SergioRaguzini писал(а): 18 Апрель 2023, 11:40 должен сказать пользователю, что идет некий процесс обработки
Правильно.
У Вас когда загружается какой-нибудь файл, то ведь этот процесс идёт в конкретной программе или сразу во всём компьютере ?
Вы же можете переключится на другую программу и там нет загрузки файла. Так же и в MDI приложении с окнами (потоками).
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Вопрос про курсор

Сообщение finsoftrz »

Игорь Столяров писал(а): 18 Апрель 2023, 11:34
finsoftrz писал(а): 18 Апрель 2023, 11:26 в чем разница между многопоточными приложениями в 2023 и в 2003 годах
В MDI модели RunTime. Всё-таки для C50 (2003 г.) и C11 (2023 г.) - она разная.
Координальные изменения были в C55 и нормально всё уже работало в C63.
Ну и поддержка на стороне ABC шаблонов. :)
Здрасьте. :-) С5 это 1999 год. 2003 уже релиз С6 вышел, хотя могу ошибаться немного. Изменение многопоточной модели произошли в С6, а в с55 была такая же, как в С5, только они начали ее коверкать для поддержки activeX, в результате чего напоролись на нестабильную работу и решили изменить модель. Можно переформулировать вопрос, в чем разница в между многопоточными приложениями в 2023 и в 2006 годы, чтобы точно попасть. :-)
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Вопрос про курсор

Сообщение Игорь Столяров »

finsoftrz писал(а): 18 Апрель 2023, 12:05 а в с55 была такая же, как в С5
Давно дело было-то ! Был стабильный релиз C50, потом C55 в котором был глючный рантайн который работал только с SDI,
а c MDI падал непредсказуемо - я это всё прошёл на отчётах. И выход C60 был просто спасением.
Там тоже было всё турбулентно, но зато каждую неделю выходили патчи. Что-то такое вспоминается. :)
finsoftrz писал(а): 18 Апрель 2023, 12:05 в чем разница в между многопоточными приложениями в 2023 и в 2006 годы
В RunTime. В доведённых до рабочего состояния шаблонах и классах ABC. В современных в версиях Windows.
Ну конечно кроме мест, где всё сразу было хорошо и жись там на том и остановилась. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 236
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

Вопрос про курсор

Сообщение SergioRaguzini »

Игорь Столяров писал(а): 18 Апрель 2023, 11:46
SergioRaguzini писал(а): 18 Апрель 2023, 11:40 должен сказать пользователю, что идет некий процесс обработки
Правильно. У Вас когда загружается какой-нибудь файл, то ведь этот процесс идёт в конкретной программе или сразу во всём компьютере ?
Вы же можете переключится на другую программу и там нет загрузки файла. Так же и в MDI приложении с окнами (потоками).
Если я правильно понял вас, вы хотите разный курсор в разных окнах... Но тогда отрабатывайте EVENT:GainFocus в каждом окне
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 236
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

Вопрос про курсор

Сообщение SergioRaguzini »

Игорь Столяров писал(а): 18 Апрель 2023, 11:46 Правильно. У Вас когда загружается какой-нибудь файл, то ведь этот процесс идёт в конкретной программе или сразу во всём компьютере ?
Вы же можете переключится на другую программу и там нет загрузки файла. Так же и в MDI приложении с окнами (потоками).
Если я правильно понял вас, вы хотите разный курсор в разных окнах... Но тогда отрабатывайте EVENT:GainFocus в каждом окне и там проверяйте установку нужного курсора
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Вопрос про курсор

Сообщение finsoftrz »

Насколько я знаю, ничего в плане многопоточности с 2006 года в кларионе не поменялось.
На мой взгляд, взять в скобки SETCURSOR(CURSOR:Wait) и SETCURSOR непродолжительные операции, действительно, как правило хорошего тона. Почему бы не маякнуть пользователю, что мы что-то там делаем некоторое время. В чем проблема возникла на несколько секунд показать курсор ожидания?
C6/C11, ШВС, tps/btrieve.
Ответить