Форум » GUI » Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение) » Ответить

Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)

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

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

SergKis: Andrey пишет А так юзер будет нервничать, при каждом запуске ругаясь на "тормозную" программу Все в твоих руках. Можно без потоков запустить все 5 окон под splash в hide и все - переключай фокус между приложениями с главной main или после splash, из памяти убирай когда выходят из главной main, а так делай по X hide. Время на запуск будет тоже И логику программирования свою менять. Это можно, но уже в новых проектах. У тебя уже все есть в твоем модуле (ты его один и запускай с разными параметрами с главного main). С окнами Standard, думаю, провозишься дольше. Вместо STANDARD у тебя будут MAIN окна и разный запуск

gfilatov2002: Выложил 4-е обновление сборки 23.04 с учетом последних исправлений и дополнений Скачать Обновил также Unicode архив этой сборки для Сергея Желаю всем хорошего дня

i3t4j6: Появилась необходимость в TsBrowse написать oBrw:cMsg:= ' ↓ -добавить F10 -выход '. Так вот - "стрелка вниз" - не отображается, как и chr(25) . Это как-то можно победить?


SergKis: i3t4j6 Сделайте, что то такое [pre2] 1. oBrw:cMsg:= ' <Dn> - добавить F10 -выход ' 2. oBrw:cMsg := {|ob,nc| my_cMsg(ob, nc) } FUNC my_cMsg( oBrw, nCol) LOCAL cMsg := "", oWnd LOCAL cImg := "Dn" // image в ресурсах SET WINDOW THIS TO oBrw oWnd := This.Object IF nCol == ... cMsg := "..." cImg := "..." ELSE cMsg := "- добавить F10 -выход " cImg := "Dn" ENDIF //oWnd:StatusBar:Say(cMsg, 1) oWnd:StatusBar:Icon(cImg, 1) SET WINDOW THIS TO RETURN cMsg [/pre2] Это схема PS Если колонки не обрабатывать, то oBrw:cMsg := {|ob| SetProperty(ob:cParentWnd, "StatusBar", "Icon", 1, "Dn"), "- добавить F10 -выход " }

Andrey: А есть функция в МиниГуи, которая возвращает фокус текущей формы в программе ? И фокус объекта на этой текущей форме ? А то делаю так: [pre2] Local aFocu := { ThisWindow.Name, This.FocusedControl } // текущее окно и фокус в окне ...... To_Focus(aFocu[1], aFocu[2]) // восстановим текущее окно и фокус в окне Return Nil }[/pre2] и получаю вылет из программы с такой ошибкой: [pre2]Error BASE/1081 Неверный аргумент: + Args: [1] = C Window: [2] = U Called from GETPROPERTY(0) Called from (b)SHOW_SITE(227) in module: Source\form_site.prg Called from EVENTS(0) Called from MYEVENTSHANDLER(1833) in module: Source\main.prg Called from DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(0) [/pre2] Причём тут + ? вообще непонятно...

i3t4j6: SergKis пишет: Если колонки не обрабатывать, то Я скорее всего привел неудачный пример. Вот другой : DEFINE TBROWSE oBrw AT 0,0 OF Form_3 celled ALIAS cFile ; WIDTH 1008 HEIGHT 612 SIZE 9 ; MESSAGE ' ↓ -добавить F10 -выход '. "Стрелка вниз" - не отображается !??

SergKis: 3t4j6 пишет "Стрелка вниз" - не отображается !?? И не будет, в ToolTip так же не отобразится (код < 32). Надо менять на картинку. Подберите вариант стрелки вниз и делайте как написал выше. Слева будет картинка "Стрелка вниз", потом текст ' -добавить F10 -выход '. Возможно блок кода будет чуть сложнее, т.к. картинку и текст, по мне, надо отображать когда в фокусе тсб будет последняя строка LastRec(), для TsBrowse - это ob:nLen. Что бы не связываться с MESSAGE TsBrowse, можно в StatusBar сделать все варианты режимов работы с записью, т.е. разбить StatusBar на Item-ы (самый левый не занимать) в которых вывести с картинками, например так: <для Message тсб или свои> |<картинка> Добавить |<картинка> Удалить |<картинка> Edit | ... | <картинка> Выход | ... можно установить для каждого Item StatusBar FontColor и BackColor + назначить блок кода ACTION {|| ... } по клику по Item он сработает и выполнит соответствующий блок\режим. + эти режимы продублировать на клавиши Ins, Del, F4 или Enter ... Получите аналог кнопок в StatusBar. Каждому StatusBar Item можно задать ToolTip, где написать текст-расшифровку, он будет высвечиваться при наведении мыши на каждый Item, где задан, т.е. навели на Item "Выход", получили типа "Нажмите кл. F10 или Esc для завершения работы"

i3t4j6: Спасибо !!!

Andrey: Есть пример SAMPLES\BASIC\Icons Если хочу добавить общую иконку для проги так: [pre2]demo.res 1_MAIN ICON 1Mg.ico IconVista ICON IconVista.ico[/pre2] То ехе-ник не собирается, выдаёт ошибку: [pre2]Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Error demo.rc 2 40: Allocate failed Resource compile error.[/pre2] Почему ? Что не хватает для BCC 5.8 ? И не собирается \BASIC\Icons\MyIcons\build.bat [pre2]myicons.c: Turbo Incremental Link 6.90 Copyright (c) 1997-2017 Embarcadero Technologies, Inc. или Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland Error: Unresolved external '_hb_dynsymToNum' referenced from C:\MINIGUI-23.04.4\HARBOUR\LIB\HBWIN.LIB|hbolesrv Error: Unresolved external '_hb_dynsymFromNum' referenced from C:\MINIGUI-23.04.4\HARBOUR\LIB\HBWIN.LIB|hbolesrv Error: Unresolved external '_hb_errRT_New' referenced from C:\MINIGUI-23.04.4\HARBOUR\LIB\HBWIN.LIB|hbolesrv Error: Unresolved external '_hb_pcount' referenced from C:\MINIGUI-23.04.4\HARBOUR\LIB\HBWIN.LIB|hbolesrv Error: Unresolved external '_hb_arrayBaseParams' referenced from C:\MINIGUI-23.04.4\HARBOUR\LIB\HBWIN.LIB|hbolesrv Error: Unresolved external '_hb_errPutArgsArray' referenced from C:\MINIGUI-23.04.4\HARBOUR\LIB\HBWIN.LIB|hbolesrv ..... и далее куча сообщений [/pre2]

gfilatov2002: Ну вот и все! Выложил июльскую сборку 23.07 с учетом последних исправлений и дополнений скачать После 18-ти лет активной разработки этот проект подошел для меня к концу по понятным причинам. В заключение хотел бы отметить важные этапы в истории Минигуи: - прекрасный старт на основе кода автора библиотеки Роберто Лопеза; - обеспечена совместимость кода со всеми бесплатными Си-компиляторами: MinGW, MS VC, Pelles C, Open Watcom; - поддержка 64-битной архитектуры; - поддержка Unicode; - адаптация FiveWin класса TSBrowse (автор - Мануэл Меркадо); - HMGS-IDE Project Manager and Two-Way Visual Form Designer (автор - Уолтер Формигони); - улучшенные версии библиотек Харбора (hbsqldd, hbziparc, hbmysql, hbpqsql, hbsqlite3, hbcrypto); - множество примеров использования (от самых простых и до готовых приложений). Большое спасибо всем форумчанам за интерес и поддержку библиотеки Желаю всем удачи!

Haz: gfilatov2002 пишет: Большое спасибо всем форумчанам за интерес и поддержку библиотеки Желаю всем удачи! Григорий, спасибо за Ваш многолетний труд и поддержку проекта

SergKis: gfilatov2002 СПАСИБО

Andrey: gfilatov2002 Спасибо ОГРОМНОЕ за ваш проект и вашу помощь ! P.S. Зря не добавили пример - Tsb_array_image, в нём все варианты чтения и показа картинок в ТСБ. И в качестве добавки - сборка своих DLL с ресурсами через BCC.

gfilatov2002: Andrey пишет: Зря не добавили пример - Tsb_array_image Мне тоже понравился этот пример, но не хотелось значительно увеличивать размер дистрибутива за счет большого количества картинок. К тому же, к этому времени уже был готов финальный инсталлятор этой сборки.

SergKis: gfilatov2002 пишет уже был готов финальный инсталлятор этой сборки Unicode версия есть ? Если есть, можно получить ?

gfilatov2002: SergKis пишет: Unicode версия есть ? Уже есть. Выложил ее по старому адресу, как обычно

SergKis: gfilatov2002 Спасибо !

Andrey: Григорий, я высылал тебе для ErrorSys.prg новую секцию для анализа ошибок: ---------------------------- List of open windows ----------------------------- Удобная штука, сразу видно сколько окон в программе открыто. Жалко что туда нельзя прикрутить в каком окне произошла ошибка.

SergKis: gfilatov2002 пишет На следующей неделе выложу обновление Добавки небольшие [pre2] METHOD Set( xKey, xVal ) CLASS THmgData ... IF HB_ISHASH( xKey ) ... ELSEIF HB_ISARRAY( xKey ) .and. HB_ISARRAY( xVal ) FOR EACH k, v IN xKey, xVal Default k := hb_enumIndex( k ) hb_HSet( ::aKey, ::Upp( k ), v ) NEXT ELSEIF HB_ISARRAY( xKey ) FOR EACH v IN xKey IF HB_ISARRAY( v ) .and. Len( v ) > 1 hb_HSet( ::aKey, ::Upp( v[1] ), v[2] ) ENDIF NEXT ELSE hb_HSet( ::aKey, ::Upp( xKey ), xVal ) ENDIF ... // Допустил неточность в названии переменной ( oParam:bDblClick вместо oParam:bLDblClick) и уже использовал, думаю надо поправить ... FUNCTION _TBrowse( oParam, uAlias, cBrw, nY, nX, nW, nH ) ... IF HB_ISBLOCK( oParam:bBody ) ; EVal( oParam:bBody, oBrw, oParam ) // 2. call your customization functions ENDIF IF HB_ISLOGICAL( oParam:bLDblClick ) .or. HB_ISLOGICAL( oParam:bDblClick ) :bLDblClick := {|p1, p2, p3, ob| p1:=p2:=p3, ob:PostMsg( WM_KEYDOWN, VK_RETURN, 0 ) } ELSEIF HB_ISBLOCK( oParam:bLDblClick ) // :bLDblClick := {|p1,p2,p3,ob| ... } :bLDblClick := oParam:bLDblClick ELSEIF HB_ISBLOCK( oParam:bDblClick ) // :bLDblClick := {|p1,p2,p3,ob| ... } :bLDblClick := oParam:bDblClick ENDIF IF HB_ISBLOCK( oParam:bRClicked ) :bRClicked := oParam:bRClicked // :bRClicked := {|p1,p2,p3,ob| ... } ENDIF ... [/pre2]

gfilatov2002: SergKis пишет: Добавки небольшие OK



полная версия страницы