On-line: гостей 4. Всего: 4 [подробнее..]
АвторСообщение
постоянный участник




Пост 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. Как вывести на форму (не на кнопку) иконку заданного размера ?

Вот пока часть чего хочется... Может на Рождество желания сбудутся ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 232 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 All [только новые]


постоянный участник




Пост N: 7722
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.04.24 08:09. Заголовок: Есть ли возможность ..


Есть ли возможность при отладке программы - смотреть какие объекты на форме созданы ?
Какой нибудь мини-просмотр списка объектов на форме.
Или готовые функции для этого.
Самому писать долго...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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-ХХ

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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 - знаю, но он сложный в постоянной работе.
Вот примерно так:

Какие есть у вас мысли по этому поводу ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1969
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.05.24 08:15. Заголовок: Andrey пишет: Про G..


Andrey пишет:

 цитата:
Про GUI Debugger for HMG Official - знаю, но он сложный в постоянной работе.


Ознакомься с Visual Code editor, нам есть отладчик под harbour. Это будет лучше, чем грузить библиотеку никому не нужным мусором.
PS. Делал давно подобное окно по контролю за рабочими областями, не прижилось

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7756
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.05.24 17:34. Заголовок: SergKis пишет: - Чт..


SergKis пишет:

 цитата:
- Что то делаешь в программе смотришь в FAR, обновление автоматом


Да не обновляет у меня _msg.log автоматом.
Открываешь его, и всё, больше в лог ничего не записывается.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4571
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.05.24 17:39. Заголовок: Andrey пишет Да не о..


Andrey пишет
 цитата:
Да не обновляет у меня _msg.log автоматом.
Открываешь его, и всё, больше в лог ничего не записывается.


Ты открываешь лог, до запуска программы, а надо, как я написал, сначала программу (там удаление и создание лог файла), а потом его просмотр, при создании нового лога уже другой файл и handle для файла.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7757
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.05.24 18:19. Заголовок: SergKis пишет: Ты о..


SergKis пишет:

 цитата:
Ты открываешь лог, до запуска программы,


После запуска, посмотрел результат, далее двигаюсь в программе, дальнейшие результаты в лог не попадают.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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 - идет в конец файла

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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
Кто-то им пользуется ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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)


Спасибо: 0 
ПрофильЦитата Ответить
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


и пользуйся этой функцией для отладки

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7801
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.08.24 12:38. Заголовок: Спасибо ! :sm36: ..


Спасибо !
Посмотрел ChangeLog.txt а там не было про функцию AlertDebug(), думал будет в следующей версии...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7802
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.08.24 18:06. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно легко сделать из MsgDebug() AlertDebug(), попробовал, работает


Лучше это добавить в MsgDebug()
AlertDebug() буду использовать из hmgaddon - там список окон в задаче есть,
можно ещё что-то прикрутить для простой отладки.
Типа список открытых баз или ещё другое.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4615
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.08.24 18:20. Заголовок: Andrey пишет Лучше э..


Andrey пишет
 цитата:
Лучше это добавить в MsgDebug()


в MsgDebug() работает вызов MsgInfo(), т.е. мелкий фонт, а ранее пишешь

 цитата:
Ну и ещё фонт увеличить в MsgDebug(), а то глаза уже плохо видят.


и как это совместить ?
убрать MsgInfo() и поставить AlertInfo() ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7803
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.08.24 18:26. Заголовок: SergKis пишет: и ка..


SergKis пишет:

 цитата:
и как это совместить ?
убрать MsgInfo() и поставить AlertInfo() ?


Да подправить MsgDebug() и всё, пойдёт для всяких мелочей.
Останется совместимость.

А для большего просмотра лучше уже использовать доп.библиотеку hmgaddon.lib
Иконка есть, сразу видно на МиниГуи отладка

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2340
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 01.08.24 20:49. Заголовок: Andrey пишет: подпр..


Andrey пишет:

 цитата:
подправить MsgDebug() и всё


Я так и сделал

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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()
И да, я знаю что это плохой стиль при создании окна вызывать другие окна.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 232 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 77
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет