Вопрос про курсор
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7372
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Вопрос про курсор
Привет всем !
Подскажите пожалуйста, а кто-нибудь сейчас юзает в современных приложениях SetCursor(...) ?
Надо ли оно вообще в современных реалиях, особенно в мульти-птоковых приложениях ?
Копаю старое приложение - там переключение курсоров при каждом цикле обработки.
Поймал себя на мысли, что мы сейчас эту забаву с переключением курсоров вообще забросили.
Есть индикатор - в виде строки с указанием процента выполнения и/или PROGRESS и всё ...
Подскажите пожалуйста, а кто-нибудь сейчас юзает в современных приложениях SetCursor(...) ?
Надо ли оно вообще в современных реалиях, особенно в мульти-птоковых приложениях ?
Копаю старое приложение - там переключение курсоров при каждом цикле обработки.
Поймал себя на мысли, что мы сейчас эту забаву с переключением курсоров вообще забросили.
Есть индикатор - в виде строки с указанием процента выполнения и/или PROGRESS и всё ...
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Вопрос про курсор
Вроде ничего не забыл.
1. Сплиттер при наведении и перетаскивании разделителя.
2. Панель переключения потоков.
3. Cursor:Wait в мелких обработках, когда прогрессор выводить нет смысла.
4. Cursor:cross в рисовалках (дизайнер бланков, карты) в режиме размещения нового элемента.
1. Сплиттер при наведении и перетаскивании разделителя.
2. Панель переключения потоков.
3. Cursor:Wait в мелких обработках, когда прогрессор выводить нет смысла.
4. Cursor:cross в рисовалках (дизайнер бланков, карты) в режиме размещения нового элемента.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7372
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Вопрос про курсор
Да, конечно - вопрос про обработки CURSOR:WAIT.
Т.е. Вы показываете выполнение курсором ...
Просто в Multi-MDI установленный курсор действует везде.
Если в окне идёт расчёт, то при наведении на TOOLBAR APPFRAME курсор всё равно "часиками".
Хотя возможно, нужно как-то это отрабывать и переключать курсор ... но проще вообще не переключать.
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Вопрос про курсор
Когда курсор ожидания выводится, все послушно ждут. На то он и курсор такой. Это же на достаточно быстрых операциях. Если долго, то прогрессор. Просто курсором ожидания информируем, что программа что-то там делает. Для наглядности, можно, конечно, и без него.
C6/C11, ШВС, tps/btrieve.
- SergioRaguzini
- Старожил
- Сообщения: 236
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 6 раз
Вопрос про курсор
Привет Всем!Игорь Столяров писал(а): ↑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 раз
Вопрос про курсор
Вот это сейчас было про многопоточные приложения в 2023 г. или как ?
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Вопрос про курсор
Стесняюсь спросить, в чем разница между многопоточными приложениями в 2023 и в 2003 годах?
Кстати, в кларионе многопоточность сама по себе весьма специфичная, не как в других системах.
Кстати, в кларионе многопоточность сама по себе весьма специфичная, не как в других системах.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7372
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Вопрос про курсор
В MDI модели RunTime. Всё-таки для C50 (2003 г.) и C11 (2023 г.) - она разная.
Координальные изменения были в C55 и нормально всё уже работало в C63.
Ну и поддержка на стороне ABC шаблонов.
За теми кто отстал - не возвращаться. (С) Кодекс
- SergioRaguzini
- Старожил
- Сообщения: 236
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 6 раз
Вопрос про курсор
Наверное, "многопоточность" при применении вида курсора все же отходит на второй план. Измененный внешний вид курсора, например, при Cursor:Wait должен сказать пользователю, что идет некий процесс обработки. Если мы не хотим информировать пользователя о работающем процессе, нам ведь не обязательно изменять курсор, разве не так?
- Игорь Столяров
- Ветеран движения
- Сообщения: 7372
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Вопрос про курсор
Правильно.SergioRaguzini писал(а): ↑18 Апрель 2023, 11:40 должен сказать пользователю, что идет некий процесс обработки
У Вас когда загружается какой-нибудь файл, то ведь этот процесс идёт в конкретной программе или сразу во всём компьютере ?
Вы же можете переключится на другую программу и там нет загрузки файла. Так же и в MDI приложении с окнами (потоками).
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Вопрос про курсор
Здрасьте. С5 это 1999 год. 2003 уже релиз С6 вышел, хотя могу ошибаться немного. Изменение многопоточной модели произошли в С6, а в с55 была такая же, как в С5, только они начали ее коверкать для поддержки activeX, в результате чего напоролись на нестабильную работу и решили изменить модель. Можно переформулировать вопрос, в чем разница в между многопоточными приложениями в 2023 и в 2006 годы, чтобы точно попасть.Игорь Столяров писал(а): ↑18 Апрель 2023, 11:34В MDI модели RunTime. Всё-таки для C50 (2003 г.) и C11 (2023 г.) - она разная.
Координальные изменения были в C55 и нормально всё уже работало в C63.
Ну и поддержка на стороне ABC шаблонов.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7372
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Вопрос про курсор
Давно дело было-то ! Был стабильный релиз C50, потом C55 в котором был глючный рантайн который работал только с SDI,
а c MDI падал непредсказуемо - я это всё прошёл на отчётах. И выход C60 был просто спасением.
Там тоже было всё турбулентно, но зато каждую неделю выходили патчи. Что-то такое вспоминается.
В RunTime. В доведённых до рабочего состояния шаблонах и классах ABC. В современных в версиях Windows.
Ну конечно кроме мест, где всё сразу было хорошо и жись там на том и остановилась.
За теми кто отстал - не возвращаться. (С) Кодекс
- SergioRaguzini
- Старожил
- Сообщения: 236
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 6 раз
Вопрос про курсор
Игорь Столяров писал(а): ↑18 Апрель 2023, 11:46Если я правильно понял вас, вы хотите разный курсор в разных окнах... Но тогда отрабатывайте EVENT:GainFocus в каждом окнеSergioRaguzini писал(а): ↑18 Апрель 2023, 11:40 должен сказать пользователю, что идет некий процесс обработки
Правильно. У Вас когда загружается какой-нибудь файл, то ведь этот процесс идёт в конкретной программе или сразу во всём компьютере ?
Вы же можете переключится на другую программу и там нет загрузки файла. Так же и в MDI приложении с окнами (потоками).
- SergioRaguzini
- Старожил
- Сообщения: 236
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 6 раз
Вопрос про курсор
Если я правильно понял вас, вы хотите разный курсор в разных окнах... Но тогда отрабатывайте EVENT:GainFocus в каждом окне и там проверяйте установку нужного курсораИгорь Столяров писал(а): ↑18 Апрель 2023, 11:46 Правильно. У Вас когда загружается какой-нибудь файл, то ведь этот процесс идёт в конкретной программе или сразу во всём компьютере ?
Вы же можете переключится на другую программу и там нет загрузки файла. Так же и в MDI приложении с окнами (потоками).
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
Вопрос про курсор
Насколько я знаю, ничего в плане многопоточности с 2006 года в кларионе не поменялось.
На мой взгляд, взять в скобки SETCURSOR(CURSOR:Wait) и SETCURSOR непродолжительные операции, действительно, как правило хорошего тона. Почему бы не маякнуть пользователю, что мы что-то там делаем некоторое время. В чем проблема возникла на несколько секунд показать курсор ожидания?
На мой взгляд, взять в скобки SETCURSOR(CURSOR:Wait) и SETCURSOR непродолжительные операции, действительно, как правило хорошего тона. Почему бы не маякнуть пользователю, что мы что-то там делаем некоторое время. В чем проблема возникла на несколько секунд показать курсор ожидания?
C6/C11, ШВС, tps/btrieve.