| Автор | Сообщение |
|
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно  ).
|
 |

|
|
Ответов - 129
, стр:
1
2
3
4
5
6
7
All
[только новые]
|
|
|
|
| moderator
|
Пост N: 2514
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.10.25 19:23. Заголовок: SergKis пишет: все ..
SergKis пишет: | цитата: | | все в один голос говорили, что бы это не менял |
| 
|
 |

|
|
|
| постоянный участник
|
Пост N: 4836
Зарегистрирован: 17.02.12
|
|
Отправлено: 11.10.25 11:26. Заголовок: gfilatov2002 Andrey..
gfilatov2002 Andrey пишет (Пост N: 8052) | цитата: | Григорий, как из своей программы изменить цвета Program error ? Я задаю свои функции Alert*() на базе твоих... |
| gfilatov2002 пишет | цитата: | | Сейчас эти цвета задаются в ядре без возможности их изменения извне. |
| Предлагаю дать возможность разработчику делать свои окна вместо системных. Для этого небольшая правка ErrorSys.prg STATIC PROCEDURE ShowError( cErrorMessage, oError ) ... cMsg += iif( _lShowDetailError(), cErrorMessage, ErrorMessage( oError ) ) IF !Replicate(chr(9), 3) $ cMsg IF ISLOGICAL( _HMG_lOnErrorStop ) .AND. _HMG_lOnErrorStop ... ENDIF ENDIF ErrorLevel( 1 ) IF ISBLOCK( _HMG_bOnErrorExit ) Eval( _HMG_bOnErrorExit ) ENDIF ... т.е. разработчик в своем модуле делает ~так (пример Tsb_2tsb\demo_e.prg) ... Function Main() ... LOCAL cTitl := " Mouse (Right, Left) click events" cTitl += " - Version 0.2 (29.09.2025)" cTitl += " Press key F1 for error" ... ON KEY F1 ACTION iif( AlertYesNo("Make the program terminate with an error ?"), ; This.Buff.SetFocus, ) ON KEY TAB ACTION {|| ... FUNCTION my_ErrorExit(cMsg,oErr,cTxt,cErr) IF pCount() > 0 AlertStop(cErr) cTxt := oErr ENDIF RETURN cMsg + Replicate(chr(9), 3) // отказываемся от показа окон ошибки hmg PS. Или вводить переменную среды hmg для анализа ситуации, возможно просто вертуть .F. и проверить возврат в ErrorSys.prg
|
 |

|
|
|
| moderator
|
Пост N: 2515
Зарегистрирован: 11.02.10
|
|
Отправлено: 11.10.25 21:25. Заголовок: SergKis пишет: Пред..
SergKis пишет: | цитата: | | Предлагаю дать возможность разработчику делать свои окна вместо системных. |
| Такая возможность есть в библиотеке изначально. Базовые примеры находятся в папках Basic\Hmg_Error Basic\Hmg_Error_2 
|
 |

|
|
|
| постоянный участник
|
Пост N: 4837
Зарегистрирован: 17.02.12
|
|
Отправлено: 11.10.25 21:58. Заголовок: gfilatov2002 пишет Т..
gfilatov2002 пишет | цитата: | | Такая возможность есть в библиотеке изначально |
| Подмена системы обработок ошибок (она существует давно с clipper времен), это несколько не то, что я предложил. Система обработок ошибок остается как есть, заменяем только окно вывода ошибки, которое часто вылазит за пределы экрана, искажается и хочется, как Андрею, покраску и фонты сменить в некоторых строках вывода, а может и не выдавать окно, просто вернув, например, .F.. Обработка ErrorLog.htm или тексты cErr можно отработать и в др. месте. Окно ошибки пугает user и вполне при сбое можно перезапустить модуль на прежнее окно работы, даже без сообщений, сморгнул экран для user и дальше работай
|
 |

|
|
|
| |
Пост N: 2000
Зарегистрирован: 20.02.11
|
|
Отправлено: 11.10.25 23:40. Заголовок: SergKis пишет: Пре..
SergKis пишет: | цитата: | Предлагаю дать возможность разработчику делать свои окна вместо системных. Для этого небольшая правка ErrorSys.prg |
| Стесняюсь спросить, а зачем? Пользователю насрать на красоту сообщения об ошибке, если разраб их обрабатывает, то и юзер эту красоту не увидит. Если нужно о чем то предупредитт юзера, то у разраба полно способов нарисовать свое окно любое. Errorsys открыт полностью, делай что хочешь, объект ошибки не бином Ньютона, чес слово не понял смысла зачем изобретать велосипед. А то становится похоже на мем, программа, работает ху*во, но ошибки показывает красиво 
|
 |

|
|
|
| постоянный участник
|
Пост N: 8058
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.10.25 00:51. Заголовок: Haz пишет: Errorsys..
Haz пишет: | цитата: | | Errorsys открыт полностью, делай что хочешь, |
| Сделал правку его, прога у заказчика не всегда показывает ошибки, писал уже ранее - выдаёт ошибки, что нет фонта на окне и ошибка НЕ ТА, что привела к краху. У меня работает без сбоев, у заказчика периодически вылетает. Сам видел ошибку - на хорошем сервере - ошибка SELECT базы, хотя потом после перезапуска, прога работает без ошибок в этом месте программы. Хрень получается... Переключение между прогами 1С, Мозилой и Минигуи - непонятная штука, особенно если у заказчика мало памяти. Сейчас после замены на свой Alert*() вот такое окно: Юзер будет в шоке. А если пришлет такую ошибку на телефон, то ни фига не видно ! Из-за этого и просил изменить цвета.
|
 |

|
|
|
| постоянный участник
|
Пост N: 4838
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.10.25 06:48. Заголовок: Haz пишет Пользовате..
Haz пишет | цитата: | | Пользователю насрать на красоту сообщения об ошибке |
| Глубокое заблуждение, при приеме, вникают в каждую букву, не то что в окно, его вид, если заказчик серьезный. | цитата: | | Errorsys открыт полностью, делай что хочешь, объект ошибки не бином Ньютона, чес слово не понял смысла зачем изобретать велосипед |
| Сейчас так и есть, обработчик со времен Clipper5\VO, перенесенный в hb, таскается из проекта в проект. Зачем, если обработчик текущий в hmg устраивает ? Мешает, что нет возможности отключить окно конечное совсем или заменить его своим. Это и ограничивает свободу действий, именно, как разработчика систем. Предложение совсем копеечное, обработать спец. символы или .T.\.F. в имеющейся, готовой системе обработок ошибок, кому не нужно - даже не заметит этого | цитата: | | А то становится похоже на мем, программа, работает ху*во, но ошибки показывает красиво |
| А если наоборот ? Программа работает красиво, а ошибки криво и это заложено по умолчанию, в стандарт, т.к. сейчас часто Alert окно искажено, т.е. тексты уходят вправо за экран и вниз, а кнопка <OK> поверх текста
|
 |

|
|
|
| |
Пост N: 2002
Зарегистрирован: 20.02.11
|
|
Отправлено: 12.10.25 09:14. Заголовок: SergKis пишет: ошиб..
SergKis пишет: | цитата: | ошибки криво и это заложено по умолчанию, в стандарт, т.к. сейчас часто Alert окно искажено, т.е. тексты уходят вправо за экран и вниз, а кнопка <OK> поверх текста |
| Так я о том, что все строится на объекте ошибки и инструментария создать свою обработку и тем более раскрасить ее по своему вкусу предостаточно. На вкус и цвет все фломастеры разные и в некоторых интерфейсах Алерт выглядит как красная тряпка перед быком, тем более со стеком вызова процедур при виде которого пользователь не понимает ровным счётом ничего Если не устраивает стандартная процедура обработки, делаем свою с подробным протоколом и автоматической отправкой разработчику, если нужно предупредить пользователя вывешиваем флаг с лозунгами что уже знаем и работаем. Тем более , что информация об ошибке стандартным обработчиком иногда ни о чем. К примеру при открытом через ole excel читается текстовой файл параметров и если файла нет выдаёт discspace(0) при сотнях гигов свободного места Уже как то обсуждали , и мое мнение нужно не окно на пол экрана со стеком в цветах африканского авангарда,а удобный инструмент логирования ошибки, оправки лога разработчику и удобный вьюер этого лога. Пользователю достаточно обычного окна с уведомлениями о том что ситуация контролируется.
|
 |

|
|
|
| постоянный участник
|
Пост N: 4839
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.10.25 10:15. Заголовок: Haz пишет Если не ус..
Haz пишет | цитата: | | Если не устраивает стандартная процедура обработки, делаем свою с подробным протоколом и автоматической отправкой разработчику |
| УСТРАИВАЕТ ! Кроме окна сообщения MsgStop() или Alert и ничего лишнего не надо, все есть в параметрах пользовательского блока кода, что и куда девать это совсем др. вопрос
|
 |

|
|
|
| постоянный участник
|
Пост N: 8059
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.10.25 12:01. Заголовок: Haz пишет: Уже как ..
Haz пишет: | цитата: | | Уже как то обсуждали , и мое мнение нужно не окно на пол экрана со стеком в цветах африканского авангарда,а удобный инструмент логирования ошибки, оправки лога разработчику |
| Да это нужная вещь в программе. Сделал с помощью Сергея, недавно похожее, в новой версии МиниГуи пример - \SAMPLES\Advanced\Tsb_EventLog Запись ошибки и действий пользователя в dbf-файл. Журнал событий в программе - запись действий пользователей в программе. Статистика выполнения(события программы) по операторам за периоды времени - кнопка "F5 Отчёты". События программы - справочник смотреть/добавлять: user2log.prg функция EVENTS_Dim(). Аварийная ошибка в программе - смотреть модуль: demo.prg _HMG_bOnErrorInit := {|cMsg,oErr,cTxt,cErr| my_ErrorExit(cMsg,oErr,cTxt,cErr) } _HMG_bOnErrorExit := {| | my_ErrorExit() } Сама функция в demo_ErrorLog.prg
|
 |

|
|
|
| moderator
|
Пост N: 2516
Зарегистрирован: 11.02.10
|
|
Отправлено: 12.10.25 12:49. Заголовок: Andrey пишет: Из-за..
Andrey пишет: | цитата: | | Из-за этого и просил изменить цвета. |
| Проблема с цветами сообщения об ошибке уже решена. Сейчас возможно настроить все цвета в этом сообщении. SergKis пишет: | цитата: | | сейчас часто Alert окно искажено, т.е. тексты уходят вправо за экран и вниз, а кнопка <OK> поверх текста |
| Эту проблему тоже решил. Благодарю всех за это полезное обсуждение 
|
 |

|
|
|
|
|
| постоянный участник
|
Пост N: 4840
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.10.25 16:58. Заголовок: gfilatov2002 пишет П..
gfilatov2002 пишет | цитата: | Проблема с цветами сообщения об ошибке уже решена. Сейчас возможно настроить все цвета в этом сообщении |
| Это хорошо Но обработка ошибок, это одно, а вывод их на устройства (диск, console, gui), это другое, как и то куда девать данные об ошибке
|
 |

|
|
|
| постоянный участник
|
Пост N: 4842
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.10.25 21:59. Заголовок: gfilatov2002 Правка..
gfilatov2002 Правка в :FilterFTS() небольшая METHOD FilterFTS( cFind, lUpper, lBottom, lFocus, lAll ) CLASS TSBrowse ... FOR EACH aLine IN ::aArray ... IF nCol == 1 .AND. ::lSelector ; LOOP ELSEIF !Empty(oCol:cName) .and. oCol:cName == "ARRAYNO" ; LOOP ELSEIF ! oCol:lVisible ; LOOP ... METHOD FilterFTS_Line( cFind, lUpper, lAll ) CLASS TSBrowse ... IF nCol == 1 .AND. ::lSelector ; LOOP ELSEIF !Empty(oCol:cName) .and. oCol:cName == "ORDKEYNO" ; LOOP ELSEIF ! oCol:lVisible ; LOOP ELSEIF oCol:lBitMap ; LOOP ENDIF ... стал работать, с наличием колонки oTsb:aNumber := ... в списке колонок
|
 |

|
|
|
| moderator
|
Пост N: 2518
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.10.25 09:53. Заголовок: SergKis пишет: Прав..
SergKis пишет: OK. Благодарю за помощь 
|
 |

|
|
|
| |
Пост N: 187
Зарегистрирован: 12.07.06
|
|
Отправлено: 18.10.25 11:10. Заголовок: Ups!
Перешел с версии 25.03 на 25.10 и споткнулся на ровном месте. Изменилась работа команды UNCOMPRESS cName EXTRACTPATH Path_Dbf BLOCK {|cFile,nPos| ShowProgress(cFile,nPos,cForm)} Теперь существующие в Path_Dbf файлы не переписываются из архива, хотя раньше всё работало.
|
 |

|
|
|
| moderator
|
Пост N: 2520
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.10.25 13:47. Заголовок: alex_II пишет: Тепе..
alex_II пишет: | цитата: | | Теперь существующие в Path_Dbf файлы не переписываются из архива |
| Благодарю за сообщение! Теперь при извлечении файлов используется флаг HB_FO_EXCL | цитата: | | create and open only if file doesn't exist |
| Если это критично для Вашей программы, то этот флаг можно убрать, и затем пересобрать библиотеку hbziparc. P.S. Я уже сделал необходимые правки кода, чтобы восстановить предыдущий функционал команды UNCOMPRESS. 
|
 |

|
|
|
| |
Пост N: 188
Зарегистрирован: 12.07.06
|
|
Отправлено: 18.10.25 19:16. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: | цитата: | P.S. Я уже сделал необходимые правки кода, чтобы восстановить предыдущий функционал команды UNCOMPRESS. |
| Спасибо за разъяснение, а пока подожду на версии 25.03 
|
 |

|
|
|
| постоянный участник
|
Пост N: 4843
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.10.25 20:18. Заголовок: gfilatov2002 Не бол..
gfilatov2002 Не большое предложение по :CalcTotal(...), использовать Picture колонки для вывода суммы итога в footer, если задан METHOD CalcTotal( cTotal, cNoTotal, lDraw, lPicture ) CLASS TSBrowse ... FOR nK := 1 TO nCols oCol := ::aColumns[nK] IF !aTot[nK] ; LOOP ENDIF IF Empty( aSum[nK] ) xVal := "" ELSEIF !Empty( lPicture ) .and. !Empty( oCol:cPicture ) xVal := AllTrim( Transform( aSum[nK], oCol:cPicture ) ) ELSE xVal := hb_ntos( aSum[nK] ) ENDIF oCol:cFooting := xVal NEXT ... при lPicture := .T. в параметре Может быть, надо сделать, Default lPicture := .T. , но не уверен в этом, т.е. можно без этого параметра делать ELSEIF !Empty( lPicture ) .and. !Empty( oCol:cPicture ) xVal := AllTrim( Transform( aSum[nK], oCol:cPicture ) ) но остается вопрос, если колонка узкая и с oCol:cPicture не помещается, а без него (hb_ntos...) все ok!, а :cPicture задан ?
|
 |

|
|
|
| moderator
|
Пост N: 2521
Зарегистрирован: 11.02.10
|
|
Отправлено: 21.10.25 10:21. Заголовок: SergKis пишет: надо..
SergKis пишет: | цитата: | | надо сделать, Default lPicture := .T. |
| Принято с использованием этого параметра, как наиболее универсальный вариант. Если задано oCol:cPicture, то эта установка в приоритете, с возможностью включить ее использование с помощью параметра lPicture := .T., который по умолчанию задан, как lPicture := .F. 
|
 |

|
|
|
| moderator
|
Пост N: 2524
Зарегистрирован: 11.02.10
|
|
Отправлено: 01.11.25 15:56. Заголовок: Всем кому это интересно
Подготовил первый релиз-кандидат для ПРО-версии сборки 25.11 Кратко, что нового: Скрытый текст
Fixes * Memory leaks in CHECKLABEL control: this fix avoids memory and GDI leaks that would previously happen when replacing images or destroying windows. * HbZipArc library: hb_ZipFile() and hb_UnzipFile() major fixes. New * Adaptation of MiniGUI core is completed for using Zig language as LLVM C compiler frontend. Please note that the library format of this compiler is fully compatible with MinGW. Updates * Improved output of the Error message window with using SET SHOWREDALERT ON command. * Unicode support: Fixed getting the name of the currently set hotkey in HotKeyBox. * TSBrowse 9.0 adaptation: Improved FilterFTS() method now works with arrays and added new CalcTotal() method. * Update for using SQLITE3 version 3.51.0 (from 3.50.4). * Updated Harbour Compiler 3.2.0dev (SVN 2025-10-23 21:45): * updated hbmk2 tool to define __ARCH64BIT__ at .prg level; * added support for using Zig as LLVM C compiler frontend; * added use of read lock when accessing the FPT memo file. New Samples * Simple ChartView class for GraphPlus library. * CSV Viewer for .txt, .csv and .arr files. Enhanced Samples * Refactored Arkanoid Mini Game 🎮 (PRO version). * Updated ChatGPT-generated samples. IMPORTANT NOTE I will only release the Standard build 25.11 if I get at least 10 upvotes that will donate to that build.
| Пока я НЕ знаю, когда будет опубликован этот релиз... Все зависит от интереса к этой работе у пользователей библиотеки. Желаю всем хороших выходных.
|
 |

|
|
Ответов - 129
, стр:
1
2
3
4
5
6
7
All
[только новые]
|
|