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

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

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

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

gfilatov2002: Новенький пишет: В MiniGUI-IDE в меню Help есть пункт Update Этот пункт меню обновляет только IDE В новой сборке обновлена библиотека minigui (кстати, IDE не обновлялся )

gustow: Спасибо, Григорий! Будем посмотреть :) (кстати, в 84-м релизе "фатальных" глюков вроде бы не обнаружил; или не заметил?.. :) )

gfilatov2002: Выложил текущую сборку компилятора Харбор 2.1.0beta2 для BCC 5.5.1 по адресу: http://minigui.mylivepage.ru/file/?fileid=8292 Harbour Build Info --------------------------- Version: Harbour 2.1.0beta2 (Rev. 15051) Compiler: Borland C++ 5.5.1 (32-bit) Platform: Windows 98 4.10.2222 A PCode version: 0.3 ChangeLog last entry: 2010-07-08 10:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) ChangeLog ID: ChangeLog 15051 2010-07-08 08:25:25Z vszakats Built on: Jul 8 2010 11:54:04 Extra C compiler options: -DHB_GC_AUTO -DHB_GUI Build options: (Clipper 5.3b) (Clipper 5.x undoc) --------------------------- На всякий случай привожу мой файл сборки компилятора на платформе Windows 98SE: @echo off set HB_COMPILER=bcc set HB_INSTALL_PREFIX=c:\hb21 set HB_USER_CFLAGS=-DHB_GC_AUTO -DHB_GUI set HB_HVM_ALL=yes set HB_BUILD_DLL=no set HB_BUILD_IMPLIB=no set HB_BUILD_SHARED=no set HB_BUILD_DEBUG=no set HB_BUILD_OPTIM=yes set HB_BUILD_UNICODE=no set HB_BUILD_PARTS=all set HB_CONTRIBLIBS=hbct hbnf hbmemio hbmisc hbnetio hbtip hbwin xhb win-make clean win-make install > log-%HB_COMPILER%.txt


gfilatov2002: Новый исправленный релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=8293 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.8-85a-setup.zip Что нового: - исправлена небольшая ошибка в библиотеке TsBrowse, внесенная в предыдущей сборке; - обновлен компилятор Harbour до текущей SVN-версии; - добавлено несколько батников build.bat для сборки примеров из папки Applications с помощью утилиты hbmk2. Спасибо за внимание!

gfilatov2002: Новый исправленный релиз библиотеки выложил по адресу: http://minigui.mylivepage.ru/file/?fileid=8294 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-1.8-85b-setup.zip Что нового: - исправлены обнаруженные ошибки и неточности кода ; - улучшен алгоритм работы команды SET AUTOADJUST ON ; - обновлен компилятор Harbour до текущей SVN-версии (как обычно ); - добавлены новые интересные примеры . Спасибо за внимание!

gfilatov2002: Выложил текущую сборку компилятора Харбор 2.1.0beta2 для BCC 5.5.1 по адресу: http://minigui.mylivepage.ru/file/?fileid=8295 Harbour 2.1.0beta2 (Rev. 15190) Copyright (c) 1999-2010, http://harbour-project.org/ Harbour Build Info --------------------------- Version: Harbour 2.1.0beta2 (Rev. 15190) Compiler: Borland C++ 5.5.1 (32-bit) Platform: Windows 98 4.10.2222 A PCode version: 0.3 ChangeLog last entry: 2010-07-27 11:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) ChangeLog ID: ChangeLog 15190 2010-07-27 09:27:04Z vszakats Built on: Jul 27 2010 13:28:33 Extra C compiler options: -DHB_GC_AUTO -DHB_GUI Build options: (Clipper 5.3b) (Clipper 5.x undoc) ---------------------------

gustow: Григорий, обнаружил багочек в HMG Ext. 1.8.85b (не смотрел, был ли он в 1.8.84). Проявляется только под XP - под 98й всё нормально отрабатывает. Вкратце суть: - в окне задачи таб (не пробовал, появляется ли баг без таба); - на одной из страниц таба радиогруппа; - если в программе у радиогруппы меняем значение свойства "Enabled", вылетает по ошибке (повторяю - только в XP). Тестовый пример: //---- [pre2]#include "minigui.ch" function Main() define window Win_1 ; at 0,0 ; width 640 height 480 ; title "Test of Radiogroup's ENABLED property" ; main ; on init {|| Rabota() } end window Win_1.Center Win_1.Activate Return Nil *---------- function Rabota() @ 30-5, 20 ; checkbox CHB_1 of Win_1 ; caption "all" ; width 50 ; value .T. ; on change { || Win_1.R_Ex.Enabled := .not.(This.Value), ; Win_1.B_Ex7.Enabled := (This.Value) } define tab Tab_0 of Win_1 ; at 60, 0 ; width Win_1.Width - GetBorderWidth() * 2 ; height ; Win_1.Height - ; ( GetTitleHeight() + GetBorderHeight() + ; GetMenuBarHeight() + 65 ) ; page "Page 1" @ 340-100, 60 buttonEx B_Ex7 of Win_1 ; width 250 ; caption "Button (don't click - for test only)" ; lefttext Win_1.B_Ex7.Enabled:=.T. @ 380-100, 80 radiogroup R_Ex of Win1 ; options { "1 month", "12 monthes" } ; value 1 ; horizontal Win_1.R_Ex.Enabled:=.F. // 20100728 - так почему-то вылетает в XP //SetProperty( "Win_1", "R_Ex", "Enabled", .F. ) // и так тоже (ТОЛЬКО на этом контроле!) // 20100728 - заменил на Hide/Show //Win_1.R_Ex.Hide() end page end tab Return Nil[/pre2]//---- 5 мин. спустя: Да, забыл присовокупить эррор-лог (при вылете генерит именно две ошибки)... -------------- Harbour MiniGUI Errorlog File Harbour MiniGUI 1.8 Extended Edition (Build 85b) - 2010.07.20 -------------------------------------------------------------------------------- Date: 07/29/10 Time: 17:11:23 Error BASE/1003 Variable does not exist: _WIN_1_TAB_0 Called from GETCONTROLINDEX(999) Called from EVENTS(260) Called from DISABLEWINDOW(0) Called from (b)_DISABLECONTROL(1291) Called from AEVAL(0) Called from _DISABLECONTROL(1291) Called from SETPROPERTY(3838) Called from RABOTA(57) Called from (b)MAIN(10) Called from _PROCESSINITPROCEDURE(1592) Called from _ACTIVATEWINDOW(1454) Called from DOMETHOD(4725) Called from MAIN(15) -------------------------------------------------------------------------------- Date: 07/29/10 Time: 17:11:23 Error BASE/1003 Variable does not exist: _WIN_1_TAB_0 Called from GETCONTROLINDEX(999) Called from EVENTS(260) Called from MESSAGEBOXINDIRECT(0) Called from MSGSTOP(330) Called from SHOWERROR(187) Called from DEFERROR(114) Called from (b)ERRORSYS(58) Called from GETCONTROLINDEX(999) Called from EVENTS(260) Called from DISABLEWINDOW(0) Called from (b)_DISABLECONTROL(1291) Called from AEVAL(0) Called from _DISABLECONTROL(1291) Called from SETPROPERTY(3838) Called from RABOTA(57) Called from (b)MAIN(10) Called from _PROCESSINITPROCEDURE(1592) Called from _ACTIVATEWINDOW(1454) Called from DOMETHOD(4725) Called from MAIN(15) -------------- Тест собирался стандартно - через обычный Compile.bat, используя "штатный" Harbour, идущий с HMG Ext.

gfilatov2002: gustow пишет: Вкратце суть: - в окне задачи таб (не пробовал, появляется ли баг без таба); - на одной из страниц таба радиогруппа; - если в программе у радиогруппы меняем значение свойства "Enabled", вылетает по ошибке (повторяю - только в XP). Алексей! Это не ошибка в библиотеке, а Ваша неточность при вызове изменения свойства элемента управления внутри определения Таба. Попробуйте вынести строку Win_1.R_Ex.Enabled:=.F. за пределы определения Таба (поставьте ее после команды end tab). Кстати, полученная Вами ошибка честно указывает на то, что Таб не определен: Variable does not exist: _WIN_1_TAB_0 Замечание. Вылет происходит только под XP и при использовании Таба, поскольку только здесь идет игра с определением цвета фона для Таба (но это уже другая история)

gustow: Григорий, спасибо за разъяснения (исправил - заработало; буду знать на будущее)! Но все же "грызут неясные сомнения" :) gfilatov2002 пишет: Это не ошибка в библиотеке, а Ваша неточность при вызове изменения свойства элемента управления внутри определения Таба. А тогда интересно, почему моя аналогичная "неточность" при, например, изменении (чуть выше) свойства кнопки B_Ex7 (специально ведь привел в примере именно два этих контрола: на одном вылетает, на другом - нет) Win_1.B_Ex7.Enabled:=.T. не приводит (хоть под 98й, хоть под XP) к столь "фатальным" последствиям? Получается, что работа (аналогичная, по сути) с одними контролами более "дуракоустойчива", чем с другими?.. :) (нет, я ни в коем случае не с "наездами" - буду знать на будущее; но для "новичков" это тоже может стать предметом для - в общем-то, небеспочвенных - "недоумений")

gfilatov2002: gustow пишет: Но все же "грызут неясные сомнения" Как я уже писал выше, это связано с небольшим шаманством с цветом таба для радио-элемента под Вин XP. Поэтому для общности я и посоветовал изменять свойства контролов после завершения определения элемента Tab

gustow: Понял, Григорий, так и буду поступать - причем в отношении всех контролов (для единообразия).

yury: Григорий, у меня работающее приложение в 1.84 в 1.8.85b вылетает при повторном открытии окошка с определенным в нем browse с ошибкой : Error: Harbour MiniGUI 1.8 Extended Edition (Build 85b) - 2010.07.20 Only Panel windows can be defined inside a DEFINE WINDOW...END WINDOW structure. Program terminated. Для редактирования записи в browse пользуюсь _BrowseEdit . В первый раз окошко открывается нормально , после _BrowseEdit закрытие и повторное открытие окна - ошибка.

gfilatov2002: Обновил с учетом последних изменений от автора полную сборку IDE на сайте http://minigui.mylivepage.ru по адресу: http://minigui.mylivepage.ru/file/?fileid=8296 а также, как обычно, на сервере http://hmgextended.com в папке HMGS-IDE. Желаю всем удачной выкачки!

gfilatov2002: yury пишет: Для редактирования записи в browse пользуюсь _BrowseEdit Быстрое решение: Если Вы не используете в своей программе окна типа Panel, то просто закомментируйте в файле include\minigui.ch строку //#define _PANEL_ и пересоберите библиотеку minigui с помощью source\MakeLib.bat. Это должно безболезненно решить Вашу проблему По поводу возникающей ошибки: теперь контроль правильности заполнения структуры DEFINE WINDOW...END WINDOW более жесткий (в связи с введением окон Panel). Поэтому вероятно, что в Вашем коде есть небольшая неточность, которая ранее не контролировалась ядром библиотеки

i3t4j6: gfilatov2002 пишет: ... по поводу возникающей ошибки... Григорий, " обнаружил багочек" (2 - два багочка ) в HMG Ext. 1.8.85b (смотрел - в 1.8.84 - их не было !!!) 1. Если в файле ...\Advanced\TsBrowse\TsBtest.prg вставить Brw_6:lPickerMode := .F., то значение даты в седьмую колонку внести или изменить невозможно . 2. При использовании функции ComboWBlock() на экран выводится первая буква, а не все значение поля !

yury: gfilatov2002 пишет: По поводу возникающей ошибки: теперь контроль правильности заполнения структуры DEFINE WINDOW...END WINDOW более жесткий (в связи с введением окон Panel) Все-таки больше похоже на баг. Написал тестовую программку и похоже дело в том, что не очищается переменная _HMG_ActiveFormName. При первом открытии окна с browse - она пустая, а после редактирования записи в browse и повторного открытия этого окна у нее значение _EditRecord. Соответственно, срабатывает код : If !Empty( _HMG_ActiveFormName ) .and. panel == .f. MsgMiniGuiError("Only Panel windows can be defined inside a DEFINE WINDOW...END WINDOW structure." ) EndIf из h_windows.prg. Хотя сама форма убирается командой RELEASE WINDOW _EditRecord в h_browse.prg

gfilatov2002: yury пишет: Написал тестовую программку А можно Пример - в студию для анализа ?

yury: Вот собственно пример: test.prg

gfilatov2002: yury пишет: Вот собственно пример Как я уже писал выше, существовала вероятность, что есть неточность в Вашем коде После ознакомления с кодом примера эта догадка подтвердилась. Если Вы замените условие проверки существования дочернего окна, то Ваш пример заработает нормально ... msginfo("Имя активной формы : "+_HMG_ActiveFormName) IF !_IsWindowDefined ("Form_Setup") cTitle := 'Настройка переменных' ...

yury: gfilatov2002 пишет: Как я уже писал выше, существовала вероятность, что есть неточность в Вашем коде После ознакомления с кодом примера эта догадка подтвердилась. Если Вы замените условие проверки существования дочернего окна, то Ваш пример заработает нормально А можно поподробнее про некорректность и чем заменить условие проверки окна ? Просто интересно... А вот по поводу ошибки неверно. Даже если закомментировать проверку существования окна - ошибка появляется при повторном открытии. Пропробуйте проверить..



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