| Автор | Сообщение |
|
|
| постоянный участник
|
Пост N: 3882
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.01.15 18:29. Заголовок: Чего мне не хватает в МиниГуи....
Всех с праздниками !!! Предлагаю тем кто использует МиниГуи высказать свои предложения по улучшению данного продукта, да и в какую сторону двигаться дальше.... Вот то что мне не хватает (я имею в виду примеров): 1. Очень мало примеров для работы с DLL (хотя это и не относиться к МиниГуи, но как делать не знаю). 1.1 Как собирать свои ресурсы к программе в отдельную dll-ку. Как подключать её при запуске, показ картинок из dll (я может и догадываюсь, но пока не могу сделать этого) ? 1.2. Как сделать отдельный свой ехе-ник, а Харбор и Минигуи затолкать в отдельную dll-ку, ну и LetoDB в отдельную dll. Как подключать при запуске эти отдельные dll и пользоваться функциями из этих dll ? 1.3. Как использовать чужие dll (допустим на Дельфи) в своих программах на МиниГуи (хотя FastReport'ом пользуюсь, но он специально сделан под Харбор) ? Разные примеры из МиниГуи на эту тему смотрел, кое что понятно, кое что нет. 2. Полноценная работа с иконками 2.1. Сейчас приходиться каждый размер иконки (16х16, 32х32 и т.д.) хранить отдельно в ресурсном файле и выводить на кнопки по отдельности. Нужна функция вывода из ОДНОГО файла иконки (содержащий все размеры от 16х16 до 128х128) выбранного размера. 2.2. Как из shell32.dll (она содержит все размеры иконок) можно выбрать и показать иконку отличную от размера 32х32 ? 2.3. Как вывести на форму ( не на кнопку) иконку заданного размера ? Вот пока часть чего хочется...  Может на Рождество желания сбудутся ?
|
 |

|
|
Ответов - 232
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
All
[только новые]
|
|
|
|
| постоянный участник
|
Пост N: 7722
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.04.24 08:09. Заголовок: Есть ли возможность ..
Есть ли возможность при отладке программы - смотреть какие объекты на форме созданы ? Какой нибудь мини-просмотр списка объектов на форме. Или готовые функции для этого. Самому писать долго...
|
 |

|
|
|
| постоянный участник
|
Пост N: 7741
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.05.24 11:22. Заголовок: Кому интересно ! Ком..
Кому интересно ! Комментарии приветствуются. https://cloud.mail.ru/public/vkeh/Y4QcQSAGv https://cloud.mail.ru/public/EZDf/NfsLdfoQL Menu_3(2).7z - работа с DEFINE MAIN MENU Menu_4(2).7z - работа с DEFINE MAIN MENU В проекте показаны некоторые реализации для работы программы: 1) Запуск ТОЛЬКО одной копии программы. ПЕРЕЗАПУСК программы. 2) Меню программы храниться в demo4.menu 3) Настройки программы пишутся и читаются с demo4.ini 4) Меню можно настраивать под каждого пользователя программы. 5) Иконки в программе берутся из dll системы Windows. 6) Смена темы в меню. 7) Перевод на другие языки во внешних файлах типа demo4.lang-ХХ
|
 |

|
|
|
| постоянный участник
|
Пост N: 7755
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.05.24 22:33. Заголовок: Очень часто когда де..
Очень часто когда делаешь отладку проги, то приходиться открывать файл _msg.log и смотреть что там вывелось. Неудобно очень. Можно ли сделать автоматом в МиниГуи функции типа DebugLog(), которая бы запускалась вместе с программой и показывало ПРОСТОЕ окно отладки ? Т.е. в коде программы ставим так: ? "aWin[3]=",aWin[3] или ?? HB_ValToExp(aWin), .... А в лог пишется это значение, и потом эта строка появляется в окне DebugLog() ! Я конечно сам могу такое сделать, уже делал наподобие - SAMPLES\Advanced\Tsb_FileChangeControl но хотелось бы иметь стандартную ПРОСТУЮ функцию в МиниГуи !!! В начале кода ставишь у себя SET DebugLog ON и больше не отвлекаешься на постоянные открытия/закрытия своего лога. Про GUI Debugger for HMG Official - знаю, но он сложный в постоянной работе. Вот примерно так: Какие есть у вас мысли по этому поводу ? 
|
 |

|
|
|
| |
Пост N: 1969
Зарегистрирован: 20.02.11
|
|
Отправлено: 15.05.24 08:15. Заголовок: Andrey пишет: Про G..
Andrey пишет: | цитата: | | Про GUI Debugger for HMG Official - знаю, но он сложный в постоянной работе. |
| Ознакомься с Visual Code editor, нам есть отладчик под harbour. Это будет лучше, чем грузить библиотеку никому не нужным мусором. PS. Делал давно подобное окно по контролю за рабочими областями, не прижилось
|
 |

|
|
|
| постоянный участник
|
Пост N: 4570
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.05.24 08:53. Заголовок: Andrey пишет: Какие ..
Andrey пишет: | цитата: | | Какие есть у вас мысли по этому поводу ? |
| Никаких лишних ф-ий 1. - Запуск программы - FAR, F3 -> открывать файл _msg.log, Ctrl+End и смотреть что там вывелось - Что то делаешь в программе смотришь в FAR, обновление автоматом 2. - Запуск программы - Запуск Notepad2.exe _msg.log, Ctrl+End - Что то делаешь в программе смотришь в Notepad2.exe нажимая F5, Ctrl+End
|
 |

|
|
|
| постоянный участник
|
Пост N: 7756
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.05.24 17:34. Заголовок: SergKis пишет: - Чт..
SergKis пишет: | цитата: | | - Что то делаешь в программе смотришь в FAR, обновление автоматом |
| Да не обновляет у меня _msg.log автоматом. Открываешь его, и всё, больше в лог ничего не записывается.
|
 |

|
|
|
| постоянный участник
|
Пост N: 4571
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.05.24 17:39. Заголовок: Andrey пишет Да не о..
Andrey пишет | цитата: | Да не обновляет у меня _msg.log автоматом. Открываешь его, и всё, больше в лог ничего не записывается. |
| Ты открываешь лог, до запуска программы, а надо, как я написал, сначала программу (там удаление и создание лог файла), а потом его просмотр, при создании нового лога уже другой файл и handle для файла.
|
 |

|
|
|
| постоянный участник
|
Пост N: 7757
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.05.24 18:19. Заголовок: SergKis пишет: Ты о..
SergKis пишет: | цитата: | | Ты открываешь лог, до запуска программы, |
| После запуска, посмотрел результат, далее двигаюсь в программе, дальнейшие результаты в лог не попадают.
|
 |

|
|
|
| постоянный участник
|
Пост N: 4572
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.05.24 18:36. Заголовок: Andrey пишет После з..
Andrey пишет | цитата: | | После запуска, посмотрел результат, далее двигаюсь в программе, дальнейшие результаты в лог не попадают |
| 1. Смотри настройки far F9 -> "Параметры" -> "Настройки программы просмотра" должен быть X - "Сохранять режим просмотра" 2. Возможно, переключать фокус, после действий в программе, на far (у меня 14' экран и по Alt+TAB переключаюсь) 3. Запусти Notepad2.exe ..., по F5 он перечитывает файл, показывая то же место, где был. Ctrl+End - идет в конец файла
|
 |

|
|
|
| постоянный участник
|
Пост N: 7782
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.07.24 19:29. Заголовок: Haz пишет: Ознакомь..
Haz пишет: | цитата: | | Ознакомься с Visual Code editor, нам есть отладчик под harbour. |
| Да пользуюсь им изредка, что-то не могу с ним работать. Вот нашёл: xBase Dev — это полнофункциональная интегрированная среда разработки (IDE) и инструмент быстрой разработки приложений (RAD) для языков xBase (Clipper, Harbour/xHarbour). Он поддерживает BCC, GCC, Mingw в качестве компилятора и FiveWin, hwGUI и MiniGUI в качестве графического интерфейса. https://sourceforge-net.translate.goog/projects/xbase-dev/?_x_tr_sl=en&_x_tr_tl=ru&_x_tr_hl=ru&_x_tr_pto=sc Кто-то им пользуется ? 
|
 |

|
|
|
| |
Пост N: 1971
Зарегистрирован: 20.02.11
|
|
Отправлено: 18.07.24 21:48. Заголовок: Andrey пишет: Да по..
Andrey пишет: | цитата: | | Да пользуюсь им изредка, что-то не могу с ним работать |
| Можно подробнее, что не устраивает в vscode? Не так давно пересел на vscode с xedit от xailer, возможностей на порядок больше, хотя xedit под harbour лучше заточен, даже в мелочах, тот же контроль версий проще и понятнее. С ide 👆в сабже ранее не пересекались, очень похож наharbour IDE (может дальнейшее развитие). Спасибо попробую, но не думаю что перепрыгну, vscode универсален, с хорошей поддержкой и кучей дополнений, несколько неудобен с перехватом вывода ошибок компиляции и нет автоматического перехода на строку ошибки как в xedit, но зато предсказуем и настраиваем. PS. Если нужно что-то под harbour , то лучшее что видел это все таки xedit. Из минусов - ограничения по шрифтам редактора ( встречаются косяки с кодировками. - нужен бубен для подключения отладчика - при изменении процесса сборки (ключи, библиотеки и пр) можно сразу санитаров из дурки вызывать Из плюсов: - если все настроено, работает как часы, все под рукой, от редактора dbf, ресурсов, справок и пр. Но минусы бесят, вот и пересел на vscode
|
 |

|
|
|
|
|
| постоянный участник
|
Пост N: 7800
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.08.24 10:59. Заголовок: Можно подправить фун..
Можно подправить функцию MsgDebug() как у _o2log() ? Если делаем вывод переменной типа oHmgData(), то фигня выходит... Глаза сломать можно, пока найдёшь нужное значение... Вот допустим код: This.Cargo := oHmgData() owc := This.Cargo owc:aBColor := This.BackColor // цвет окна owc:ahIcoDel := {} // для удаления хендлов иконок с формы owc:cName := "" owc:cFile := cFile owc:cCdPg := cCdPg owc:cPsw := cPsw _o2log(owc, 30, ProcNL() + " owc => ", .T. ) Нормально читается в логе: 1. ABCOLOR = {230, 230, 230} 2. AHICODEL = {} 3. CNAME = '' 4. CFILE = '' 5. CCDPG = WIN1251 6. CPSW = none Чащё всего лог не хочется пролистывать и искать нужную переменную. Проще вывести MsgDebug(). Ну и ещё фонт увеличить в MsgDebug(), а то глаза уже плохо видят. Лучше сделать AlertDebug() , похожие там в уже всё отлажено. Своя функция показа у меня есть, но задолбало таскать её из проекта в проект. Проект Debug_Log высылал, там есть реализованная функция. Вот и хочется иметь стандартную функцию AlertDebug() в поставке Минигуи. Типа так: AlertDebug("TEXT = " + cFD, hWnd, oWnd, App.Cargo)
|
 |

|
|
|
| moderator
|
Пост N: 2339
Зарегистрирован: 11.02.10
|
|
Отправлено: 01.08.24 12:15. Заголовок: Andrey пишет: хочет..
Andrey пишет: | цитата: | | хочется иметь стандартную функцию AlertDebug() в поставке Минигуи. |
| Так она уже есть в дополнительной библиотеке hmgaddon в папке LIB. Просто добавь в свой файл проекта .HBP строку | цитата: | # paths to the main and extension *.Lib -lhmgaddon |
| и пользуйся этой функцией для отладки 
|
 |

|
|
|
| постоянный участник
|
Пост N: 7801
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.08.24 12:38. Заголовок: Спасибо ! :sm36: ..
Спасибо ! Посмотрел ChangeLog.txt а там не было про функцию AlertDebug(), думал будет в следующей версии...
|
 |

|
|
|
| постоянный участник
|
Пост N: 4614
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.08.24 16:48. Заголовок: Andrey Можно легко ..
Andrey Можно легко сделать из MsgDebug() AlertDebug(), попробовал, работает *-----------------------------------------------------------------------------* FUNCTION AlertDebug ( ... ) *-----------------------------------------------------------------------------* LOCAL nCnt := PCount() LOCAL cMsg, xVal LOCAL i cMsg := "Called from: " + ProcName( 1 ) + "(" + hb_ntos( ProcLine( 1 ) ) + ") --> " + ProcFile( 1 ) + CRLF + CRLF FOR i = 1 TO nCnt xVal := PValue( i ) IF IsObject( xVal ) IF _HMG_lOOPEnabled xVal := _o2log(xVal, ,'>>> ', .T., .T.) + CRLF ELSE xVal := "O:"+xVal:ClassName ENDIF ELSE xVal := hb_ValToExp( PValue( i ) ) ENDIF cMsg += xVal + iif( i < nCnt, ", ", "" ) NEXT AlertInfo( cMsg ) RETURN cMsg
|
 |

|
|
|
| постоянный участник
|
Пост N: 7802
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.08.24 18:06. Заголовок: SergKis пишет: Можн..
SergKis пишет: | цитата: | | Можно легко сделать из MsgDebug() AlertDebug(), попробовал, работает |
| Лучше это добавить в MsgDebug() AlertDebug() буду использовать из hmgaddon - там список окон в задаче есть, можно ещё что-то прикрутить для простой отладки. Типа список открытых баз или ещё другое.
|
 |

|
|
|
| постоянный участник
|
Пост N: 4615
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.08.24 18:20. Заголовок: Andrey пишет Лучше э..
Andrey пишет | цитата: | | Лучше это добавить в MsgDebug() |
| в MsgDebug() работает вызов MsgInfo(), т.е. мелкий фонт, а ранее пишешь | цитата: | | Ну и ещё фонт увеличить в MsgDebug(), а то глаза уже плохо видят. |
| и как это совместить ? убрать MsgInfo() и поставить AlertInfo() ?
|
 |

|
|
|
| постоянный участник
|
Пост N: 7803
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.08.24 18:26. Заголовок: SergKis пишет: и ка..
SergKis пишет: | цитата: | и как это совместить ? убрать MsgInfo() и поставить AlertInfo() ? |
| Да подправить MsgDebug() и всё, пойдёт для всяких мелочей. Останется совместимость. А для большего просмотра лучше уже использовать доп.библиотеку hmgaddon.lib Иконка есть, сразу видно на МиниГуи отладка 
|
 |

|
|
|
| moderator
|
Пост N: 2340
Зарегистрирован: 11.02.10
|
|
Отправлено: 01.08.24 20:49. Заголовок: Andrey пишет: подпр..
Andrey пишет: | цитата: | | подправить MsgDebug() и всё |
| Я так и сделал 
|
 |

|
|
|
| постоянный участник
|
Пост N: 7807
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.08.24 23:20. Заголовок: В функции MsgDebug()..
В функции MsgDebug() не хватает сохранение/восстановление текущего окна. Если вызываю MsgDebug() внутри формирующего окна, то труба, прога валится, т.к. далее пользуюсь командами This.* Нужно бы добавить в код типа такого: SET WINDOW THIS TO cForm MsgDebug(cFile,This.Tb_Path.Value) SET WINDOW THIS TO Только внутрь MsgDebug() И да, я знаю что это плохой стиль при создании окна вызывать другие окна. 
|
 |

|
|
Ответов - 232
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
All
[только новые]
|
|