Форум » 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 пишет Что нужно вызывать после этого метода ? Ничего не нужно. Надо найти у себя переустановку этого дела или ячейки :nCell

Andrey: SergKis пишет: Надо найти у себя переустановку этого дела или ячейки :nCell Уже неделю с этим бьюсь периодически....

Dima: Andrey пишет: Уже неделю с этим бьюсь периодически... Сделай простой пример: бровс и кнопка , при нажатии которой вводится место "прыга" и почекай как пашет Gopos


SergKis: Andrey Tsb_array_2\demo.prg [pre2] STATIC FUNCTION CreateDatos() LOCAL a, i, k := 1000, aDatos, aHead, aSize, aFoot, aPict, aAlign, aName ... i % 2 == 0 } // 14 a := AClone(aDatos[ i ]) AEval(a, {|xv| AAdd(aDatos[ i ], xv) }) AEval(a, {|xv| AAdd(aDatos[ i ], xv) }) ... PROCEDURE MAIN ... END TBROWSE oBrw:GoPos(1, 21) // oBrw:GoPos(7, 31) END WINDOW ... [/pre2] работают строки

Andrey: SergKis пишет: работают строки Да, это работают. Видно у меня что-то не того.... Сделал как Дима посоветовал: [pre2] IF nStaticNumField <= 0 oBrw1:GoPos( 1,7 ) // передвинуть МАРКЕР на XX строку и XX колонку ELSE oBrw1:GoPos( 1,6 + nStaticNumField ) // передвинуть МАРКЕР на XX строку и XX колонку oBrw1:Refresh(.T.) ENDIF[/pre2] Первый показ срабатывает, другие разы нет !

Haz: Andrey пишет: oBrw1:GoPos( 1,6 + nStaticNumField ) // передвинуть МАРКЕР на XX строку и XX колонку oBrw1:Refresh(.T.) Дима немножко не так советовал, хотя это тоже не помогло бы . А так GoPos() в конце кода и так вызывает Refresh() В итоге ::ColumnRec( nColumn ) не нужен ,это тоже что и ::GoPos( ::nRowPos, nColumn ) и метод ::GoPos() рабочий

gfilatov2002: Выпущена новая сборка 18.10 для BCC 5.51 и компиляторов Harbour и xHarbour Базовый дистрибутив-инсталлятор находится по адресу http://hmgextended.com/files/CONTRIB/hmg-18.10-setup.exe Рекомендуется к использованию Также имеются следующие сборки для Си-компиляторов: - MinGW 8.1.0 32-bit для Harbour 3.2.0dev; (есть в наличии) - MinGW 8.1.0 64-bit для Harbour 3.4.0dev; (есть в наличии) - MS VisualC 2017 32-bit для Harbour 3.2.0dev; (есть в наличии) - MS VisualC 2017 64-bit для Harbour 3.2.0dev; (есть в наличии) - Borland/Embarcadero C++ 7.3 (32-bit) для Harbour 3.4.0dev. (под заказ) Особая благодарность SergKis и Haz за их постоянную помощь в совершенствовании TsBrowse Выпуск последующих сборок отложен на неопределенное время...

SergKis: gfilatov2002 В методе неточность[pre2] METHOD GotoRec( nRec, nRowPos ) CLASS TSBrowse ... If HB_ISBLOCK( nRecnRowPos ) nRowPos := Eval( nRowPos, Self ) EndIf подключать блок не удалось, сделал правку для варианта с полным заполнением посл. экрана, тогда и блоки не нужны METHOD GotoRec( nRec, nRowPos ) CLASS TSBrowse LOCAL cAlias LOCAL nSkip LOCAL n LOCAL nRecSave LOCAL lRet := .F. LOCAL lReCount := .F. IF ::lIsDbf /* If HB_ISBLOCK( nRec ) nRec := Eval( nRec, Self ) EndIf If HB_ISBLOCK( nRec ) nRowPos := Eval( nRowPos, Self ) EndIf */ lRet := .T. cAlias := ::cAlias ::nLastPos := ( cAlias )->( RecNo() ) nRec := Min( ( cAlias )->( LastRec() ), nRec ) If HB_ISLOGICAL(nRowPos) .and. nRowPos .and. ::nLen > ::nRowCount() nRowPos := Nil nRecSave := ::nLastPos (cAlias)->( dbGoto(nRec) ) (cAlias)->( dbSkip( ::nRowCount() - ::nRowPos ) ) If (cAlias)->( EOF() ) Eval( ::bGoBottom ) ::nRowPos := ::nRowCount() DO WHILE ::nRowPos > 1 .and. (cAlias)->( RecNo() ) != nRec (cAlias)->( dbSkip( -1 ) ) ::nRowPos -- ENDDO Else (cAlias)->( dbGoto(nRecSave) ) EndIf EndIf hb_default( @nRowPos, ::nRowPos ) ( cAlias )->( dbGoto( nRec ) ) n := 0 ... [/pre2] Использовать :GotoRec(nRec, .T.) или как обычно

Haz: SergKis пишет: Использовать :GotoRec(nRec, .T.) или как обычно то есть nRowPos или число или признак проверки на последний экран ? может тогда третьим параметром ? SergKis пишет: подключать блок не удалось Не подобрать условие ?

SergKis: Haz пишет то есть nRowPos или число или признак проверки на последний экран ? Да. У себя поставил DEFAULT nRowPos := .T. на входе - основной режим т.е. всегда заполнять последний экран, если надо оставить пустоту внизу экрана, то :GotoRec(nRec, :nRowPos\или число) но такое реже надо Не подобрать условие ? была ошибка в коде[pre2] If HB_ISBLOCK( nRec надо nRowPos ) nRowPos := Eval( nRowPos, Self ) EndIf [/pre2] исправлять ее для блока или заменить вызов самим кодом, я сделал второе

Haz: SergKis пишет: была ошибка в коде Да при вставке в исходник скорее всего техническая опечатка у Григория проскочила. Не удивительно мы столько раз просили его то то поменять то это

gfilatov2002: SergKis пишет: Использовать :GotoRec(nRec, .T.) или как обычно Благодарю за исправление моей опечатки Да, без дополнительных кодовых блоков эта функция теперь работает отлично

SergKis: gfilatov2002 Чуть добавить надо (пропущена ситуация)[pre2] METHOD GotoRec( nRec, nRowPos ) CLASS TSBrowse ... (cAlias)->( dbGoto(nRecSave) ) EndIf EndIf If HB_ISLOGICAL(nRowPos) nRowPos := Nil EndIf hb_default( @nRowPos, ::nRowPos ) ( cAlias )->( dbGoto( nRec ) ) ... [/pre2]

gfilatov2002: SergKis пишет: If HB_ISLOGICAL(nRowPos) nRowPos := Nil EndIf Такой добавочный код излишен, поскольку функция hb_default() поправит этот случай hb_default( @nRowPos, ::nRowPos ) Проверил корректность работы функции на примере из папки samples\Advanced\Tsb_addrecord Функция сработала без проблем

SergKis: gfilatov2002 пишет поскольку функция hb_default() поправит этот случай [pre2] If HB_ISLOGICAL(nRowPos) .and. nRowPos .and. ::nLen > ::nRowCount() Если ::nLen <= ::nRowCount(), то nRowPos пойдет дальше логический и имеем далее DO WHILE !( cAlias )->( BoF() ) .AND. n < nRowPos - 1 [/pre2]

Andrey: gfilatov2002 пишет: - MS VisualC 2017 32-bit для Harbour 3.2.0dev; (есть в наличии) - MS VisualC 2017 64-bit для Harbour 3.2.0dev; (есть в наличии) Хотелось бы попробовать перейти на этот компилятор. Как получить эти сборки ?

gfilatov2002: Andrey пишет: Как получить эти сборки ? Отправил ссылки на архивы этих сборок по почте

Andrey: gfilatov2002 пишет: Отправил ссылки на архивы этих сборок по почте Спасибо ! Получил. Теперь вопрос другой - как распаковать эти архивы, чтобы можно было собирать свой проект под разными компиляторами ? Хотелось бы иметь возможность через *.hbp собирать проект для 3-х компиляторов: BCC, VC, VC64. Желательно бы иметь такую структуру каталогов: C:\MiniGUI\BCC C:\MiniGUI\VC17 C:\MiniGUI\VC1764 Или по другому, как лучше будет и универсальней.

SergKis: Григорий, можно Андрей кинет мне (он знает куда) ссылки или архивы сборок VC-ных, полюбопытсвовать.

gfilatov2002: SergKis пишет: можно Андрей кинет мне (он знает куда) ссылки Без проблем - это ведь тестовые сборки для любопытных Кстати, обновил сегодня сборку 18.10 (Update 1) с учетом Ваших исправлений в TsBrowse Что нового: * Fixed: Program crash at releasing of a Tab control with imbedded Slider (introduced in the build 18.10). Bug was reported by Richard Rylko. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Modified: The function HMG_Alert() respects now the Minigui command SET CENTERWINDOW RELATIVE PARENT. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - improved the method GotoRec( nRec [, lLastPos | nRowPos ] ) in the TSBrowse class. Contributed by Sergej Kiselev (see demo in folder \samples\Advanced\Tsb_addrecord)



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