Форум » 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 пишет: Так и будет выглядеть, эти define не трогаем, речь идет о ф-ях __mv... __mvPublic, __mvGet, __mvPut, ... причем для ограниченного применения ТОЛЬКО для переменных от имен form и контрола, которые динамически формируются в момент создания DEFINE ... что то. Наконец-то дошло. Идея хорошая. Ждем реализацию. SergKis пишет: Так он и не запрещает. Я там забыл смайлик поставить

SergKis: Петр пишет Ждем реализацию. Надо определиться по именам. Мне в голову лезет такое [pre2] #xtranslate _SetNameList( <x> , <v> ) => _SetGetNamesList( <x> , <v> ) #xtranslate _GetNameList( <x> ) => _SetGetNamesList( <x> ) #xtranslate _DelNameList( <x> ) => _SetGetNamesList( <x> , NIL , .T. ) *-----------------------------------------------------------------------------* FUNCTION _SetGetNamesList( cVarName, xNewValue, lDelete ) *-----------------------------------------------------------------------------* STATIC _HMG_NAMESLIST IF HB_ISNIL( _HMG_NAMESLIST ) _HMG_NAMESLIST := oHmgData() ENDIF IF PCount() == 1 RETURN _HMG_NAMESLIST:Get( cVarName, 0 ) ELSEIF PCount() == 2 _HMG_NAMESLIST:Set( cVarName, xNewValue ) ELSEIF PCount() == 3 IF lDelete ; _HMG_NAMESLIST:Del( cVarName ) ELSE ; _HMG_NAMESLIST:Set( cVarName, NIL ) ENDIF ENDIF RETURN _HMG_NAMESLIST [/pre2]

Петр: SergKis пишет: Надо определиться по именам. cVarName вроде уже как не cVarName, а cNewName d в случае Set или просто cName в других. А вот чего это Name FormsAndControlsNamesList или FCNamesList или ListOfFormsAndControlsNames или просто NamesList


SergKis: Петр пишет cVarName вроде уже как не cVarName тогда может так FUNCTION _SetGetNamesList( cName, nIndex, lDelete ) просто NamesList С этого начал, но в hmg сложились такие названия _SetGetGlobal, _SetGetCargo, может еще есть не помню пошел по этому пути в наименовании, а FormsAndControlsNamesList уж очень длинно прочитать, а выговорить вслух

gfilatov2002: Петр пишет: Идея хорошая. Ждем реализацию. Подготовил первый релиз-кандидат для новой сборки 21.10 с учетом обсуждения выше Кратко, что нового [pre2] * Fixed: DATEPICKER control: 'Value' property returns _always_ TimeStamp type (bug was introduced in the build 21.09). * Fixed: The clause NOSHOW was ignored on a startup of the Panel windows. That's exist in the official HMG version too. * Fixed detected resource leakage in the function ShellAbout() with usage of the MiniGUI Resources control system. * Added the important optimization the use of the internal PUBLIC variables at creating of the forms and controls in the MiniGUI core with using of the new function _SetGetNamesList() which create a GLOBAL hash for a storing of the Pseudo-Global variables. Note: There ia s slight chance of regression. * Added the OOP class TIniData for managing of the values in the ini files with converting an ini file string to the desired types. * Added the macro definition for call DLL function to the header file mgdefs.h for compatibility with Official HMG. * Updated header file i_hmgcompat.ch for compatibility with Official HMG. * Updated the TSBrowse, MiniPrint, MiniPrint2, PropGrid, PropSheet, hmg_qhtm and HbSQLite3 libraries. * Added the new interesting samples and updated some examples. [/pre2] Благодарю за помощь и ваше внимание к этому проекту

SergKis: gfilatov2002 Предложение поправить [pre2] CLASS TControl ... METHOD SuperKeyDown( nKey, nFlags, xObj ) ... METHOD SuperKeyDown( nKey, nFlags, xObj ) CLASS TControl ... if ::bKeyDown != nil return Eval( ::bKeyDown, nKey, nFlags, xObj ) endif ... METHOD KeyDown( nKey, nFlags ) CLASS TSBrowse ... CASE ::lIgnoreKey( nKey, nFlags ) // has to go before any other case statement ::SuperKeyDown( nKey, nFlags, Self ) ... ELSEIF ::lCellBrw .AND. ( nKey == VK_COPY .OR. nKey == VK_INSERT ) uTemp := cValToChar( ::bDataEval( ::aColumns[ nCol ] ) ) CopyToClipboard( uTemp ) SysRefresh() ELSE ::SuperKeyDown( nKey, nFlags, Self ) ENDIF ... ELSE ::SuperKeyDown( nKey, nFlags, Self ) ENDIF CASE nKey == VK_HOME ... OTHERWISE ::SuperKeyDown( nKey, nFlags, Self ) ENDCASE RETURN 0 ... METHOD New( cControlName, nRow, nCol, nWidth, nHeight, bLine, aHeaders, aColSizes, cParentWnd, ; // CLASS TSBrowse ... IF HB_ISARRAY(aHeaders) .and. Len(aHeaders) > 0 .and. aHeaders[1] == NIL aHeaders := NIL ENDIF IF HB_ISARRAY(aColSel) .and. Len(aColSel) > 0 .and. aColSel[1] == NIL aColSel := NIL ENDIF IF aColors != NIL ... тогда можно делать DEFINE TBROWSE Street OBJ oBrw AT nYBrw, nXBrw ALIAS cAls WIDTH nWBrw HEIGHT nHBrw ; HEADERS aHeader ; COLORS aColors ; BACKCOLOR aBrwBC ; JUSTIFY aAlign ; SELECTOR lSelector ; FONT aFont ; COLUMNS aField ; NAMES aNames ; FOOTERS aFooter ; LOADFIELDS ; EMPTYVALUE ; GOTFOCUSSELECT ; ON INIT {|ob| Tsb_Init( ob ) } ; задавая как массив или NIL (сейчас NIL не проходит) aHeader aField и задавать объект тсб в блоке кода (сейчас его нет) :bKeyDown := { |nKey,nFalgs,ob| myKeyAction(nKey, 0, nFalgs, ob) } и делать STATIC FUNCTION myKeyAction( nKey, nValButton, nFlags, oBrw) // static\public переменная oBrw_Street не нужна LOCAL oBrw := oBrw_Street LOCAL cForm, cAlias, cSearch, lRet := .T. DEFAULT nValButton := 0, nFlags := 0 IF ! ISOBJECT(oBrw) ; RETURN .F. ENDIF cForm := oBrw:cParentWnd cAlias := oBrw:cAlias ... [/pre2]

gfilatov2002: SergKis пишет: Предложение поправить Принято Благодарю за помощь

Haz: Хотел последнюю версию скачать .... на рабочий комп , по привычке набрал http://hmgextended.com/files/CONTRIB а там теперь живет [pre2] Forbidden You don't have permission to access this resource. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. [/pre2] что то поменялось ? или это конец ?

Dima: Haz так вот она http://hmgextended.com/files/CONTRIB/hmg-21.09-setup.exe

Haz: Dima пишет: так вот она а без указания конкретного релиза никак ? Список не посмотреть?

SergKis: Haz Может так пойдет http://hmgextended.com/

Dima: Haz пишет: а без указания конкретного релиза никак ? Список не посмотреть? Можно через ж... http://web.archive.org/web/20210314190309/http://hmgextended.com/files/CONTRIB/

Haz: Dima пишет: Можно через ж... через ж... у меня Тоже не работает.

Haz: SergKis пишет: Может так пойдет Так по ссылке на HMG пишет сайт не найден.💀

SergKis: Haz пишет Так по ссылке на HMG пишет сайт не найден. повторно вошел по адресу и скачал по ссылке http://hmgextended.com/files/CONTRIB/hmg-21.09-setup.exe

Haz: SergKis пишет: повторно вошел по адресу и скачал по ссылке скинь ссылку на список. Где все версии как раньше . У меня не работает

SergKis: Haz Архивные не доступны через сайт Какую надо, у мня есть, могу на ftp положить

Dima: Haz пишет: через ж... у меня Тоже не работает Да ладно Список конечно не весь , но всё же и потом как именуются файлы тоже понятно.

Haz: SergKis пишет: Архивные не доступны через сайт Понятно. Я просто не всегда форум отслеживаю . если где требовалось пересобрать проект. Просто дергал bcc и HMG с сайта. Исходники есть у клиента. Теперь придётся и свою версию hmg в облаках держать на случай работы в полях. Плюс иногда на новой версии старый проект не собрать и из-за мелкой правки пол дня переделывать придётся

Haz: Dima пишет: Да ладно Список конечно не весь да так работает Но последних там не будет скорее всего



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