Автор | Сообщение |
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть IV) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №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
|
| moderator
|
Пост N: 72
Зарегистрирован: 11.02.10
|
|
Отправлено: 07.07.10 15:56. Заголовок: Новенький пишет: В ..
Новенький пишет: цитата: | В MiniGUI-IDE в меню Help есть пункт Update |
| Этот пункт меню обновляет только IDE В новой сборке обновлена библиотека minigui (кстати, IDE не обновлялся )
|
|
|
gustow
|
| постоянный участник
|
Пост N: 199
Зарегистрирован: 06.02.07
|
|
Отправлено: 08.07.10 01:50. Заголовок: Спасибо, Григорий! Б..
Спасибо, Григорий! Будем посмотреть :) (кстати, в 84-м релизе "фатальных" глюков вроде бы не обнаружил; или не заметил?.. :) )
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 73
Зарегистрирован: 11.02.10
|
|
Отправлено: 08.07.10 12:26. Заголовок: Harbour Compiler 2.1.0beta2 (Rev. 15051)
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 74
Зарегистрирован: 11.02.10
|
|
Отправлено: 14.07.10 16:08. Заголовок: Опубликован 85a-й релиз Расширенной версии библиотеки MiniGUI
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 75
Зарегистрирован: 11.02.10
|
|
Отправлено: 20.07.10 12:07. Заголовок: Опубликован 85b-й релиз Расширенной версии библиотеки MiniGUI
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 76
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.07.10 13:51. Заголовок: Harbour Compiler 2.1.0beta2 (Rev. 15190)
|
|
|
gustow
|
| постоянный участник
|
Пост N: 201
Зарегистрирован: 06.02.07
|
|
Отправлено: 30.07.10 11:55. Заголовок: Григорий, обнаружил ..
Григорий, обнаружил багочек в HMG Ext. 1.8.85b (не смотрел, был ли он в 1.8.84). Проявляется только под XP - под 98й всё нормально отрабатывает. Вкратце суть: - в окне задачи таб ( не пробовал, появляется ли баг без таба); - на одной из страниц таба радиогруппа; - если в программе у радиогруппы меняем значение свойства "Enabled", вылетает по ошибке (повторяю - только в XP). Тестовый пример: //---- Скрытый текст
#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
|
//---- 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
|
| moderator
|
Пост N: 78
Зарегистрирован: 11.02.10
|
|
Отправлено: 30.07.10 14:19. Заголовок: gustow пишет: Вкрат..
gustow пишет: цитата: | Вкратце суть: - в окне задачи таб (не пробовал, появляется ли баг без таба); - на одной из страниц таба радиогруппа; - если в программе у радиогруппы меняем значение свойства "Enabled", вылетает по ошибке (повторяю - только в XP). |
| Алексей! Это не ошибка в библиотеке, а Ваша неточность при вызове изменения свойства элемента управления внутри определения Таба. Попробуйте вынести строку Win_1.R_Ex.Enabled:=.F. за пределы определения Таба (поставьте ее после команды end tab). Кстати, полученная Вами ошибка честно указывает на то, что Таб не определен: цитата: | Variable does not exist: _WIN_1_TAB_0 |
| Замечание. Вылет происходит только под XP и при использовании Таба, поскольку только здесь идет игра с определением цвета фона для Таба (но это уже другая история)
|
|
|
gustow
|
| постоянный участник
|
Пост N: 203
Зарегистрирован: 06.02.07
|
|
Отправлено: 31.07.10 19:51. Заголовок: Григорий, спасибо за..
Григорий, спасибо за разъяснения (исправил - заработало; буду знать на будущее)! Но все же "грызут неясные сомнения" :) gfilatov2002 пишет: цитата: | Это не ошибка в библиотеке, а Ваша неточность при вызове изменения свойства элемента управления внутри определения Таба. |
|
А тогда интересно, почему моя аналогичная "неточность" при, например, изменении (чуть выше) свойства кнопки B_Ex7 ( специально ведь привел в примере именно два этих контрола: на одном вылетает, на другом - нет) не приводит (хоть под 98й, хоть под XP) к столь "фатальным" последствиям? Получается, что работа (аналогичная, по сути) с одними контролами более "дуракоустойчива", чем с другими?.. :) ( нет, я ни в коем случае не с "наездами" - буду знать на будущее; но для "новичков" это тоже может стать предметом для - в общем-то, небеспочвенных - "недоумений")
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 79
Зарегистрирован: 11.02.10
|
|
Отправлено: 31.07.10 20:04. Заголовок: gustow пишет: Но вс..
gustow пишет: цитата: | Но все же "грызут неясные сомнения" |
| Как я уже писал выше, это связано с небольшим шаманством с цветом таба для радио-элемента под Вин XP. Поэтому для общности я и посоветовал изменять свойства контролов после завершения определения элемента Tab
|
|
|
gustow
|
| постоянный участник
|
Пост N: 205
Зарегистрирован: 06.02.07
|
|
Отправлено: 01.08.10 13:39. Заголовок: Понял, Григорий, так..
Понял, Григорий, так и буду поступать - причем в отношении всех контролов (для единообразия).
|
|
|
|
yury
|
| |
Пост N: 1
Зарегистрирован: 02.08.10
|
|
Отправлено: 02.08.10 10:49. Заголовок: Григорий, у меня раб..
Григорий, у меня работающее приложение в 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
|
| moderator
|
Пост N: 80
Зарегистрирован: 11.02.10
|
|
Отправлено: 02.08.10 11:51. Заголовок: Harbour MiniGUI IDE version 1.0.2 - 2010.08.01
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 81
Зарегистрирован: 11.02.10
|
|
Отправлено: 02.08.10 12:05. Заголовок: yury пишет: Для ред..
yury пишет: цитата: | Для редактирования записи в browse пользуюсь _BrowseEdit |
| Быстрое решение: Если Вы не используете в своей программе окна типа Panel, то просто закомментируйте в файле include\minigui.ch строку //#define _PANEL_ и пересоберите библиотеку minigui с помощью source\MakeLib.bat. Это должно безболезненно решить Вашу проблему По поводу возникающей ошибки: теперь контроль правильности заполнения структуры DEFINE WINDOW...END WINDOW более жесткий (в связи с введением окон Panel). Поэтому вероятно, что в Вашем коде есть небольшая неточность, которая ранее не контролировалась ядром библиотеки
|
|
|
i3t4j6
|
| |
Пост N: 114
Зарегистрирован: 12.06.06
|
|
Отправлено: 03.08.10 14:34. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | ... по поводу возникающей ошибки... |
| Григорий, " обнаружил багочек" (2 - два багочка ) в HMG Ext. 1.8.85b (смотрел - в 1.8.84 - их не было !!!) 1. Если в файле ...\Advanced\TsBrowse\TsBtest.prg вставить Brw_6:lPickerMode := .F., то значение даты в седьмую колонку внести или изменить невозможно . 2. При использовании функции ComboWBlock() на экран выводится первая буква, а не все значение поля !
|
|
|
yury
|
| |
Пост N: 2
Зарегистрирован: 02.08.10
|
|
Отправлено: 03.08.10 15:45. Заголовок: gfilatov2002 пишет: ..
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
|
| moderator
|
Пост N: 82
Зарегистрирован: 11.02.10
|
|
Отправлено: 03.08.10 16:08. Заголовок: yury пишет: Написал..
yury пишет: цитата: | Написал тестовую программку |
| А можно Пример - в студию для анализа ?
|
|
|
yury
|
| |
Пост N: 3
Зарегистрирован: 02.08.10
|
|
Отправлено: 03.08.10 16:16. Заголовок: Вот собственно приме..
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 83
Зарегистрирован: 11.02.10
|
|
Отправлено: 03.08.10 21:06. Заголовок: yury пишет: Вот соб..
yury пишет: Как я уже писал выше, существовала вероятность, что есть неточность в Вашем коде После ознакомления с кодом примера эта догадка подтвердилась. Если Вы замените условие проверки существования дочернего окна, то Ваш пример заработает нормально цитата: | ... msginfo("Имя активной формы : "+_HMG_ActiveFormName) IF !_IsWindowDefined ("Form_Setup") cTitle := 'Настройка переменных' ... |
|
|
|
|
yury
|
| |
Пост N: 4
Зарегистрирован: 02.08.10
|
|
Отправлено: 04.08.10 12:42. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Как я уже писал выше, существовала вероятность, что есть неточность в Вашем коде После ознакомления с кодом примера эта догадка подтвердилась. Если Вы замените условие проверки существования дочернего окна, то Ваш пример заработает нормально |
| А можно поподробнее про некорректность и чем заменить условие проверки окна ? Просто интересно... А вот по поводу ошибки неверно. Даже если закомментировать проверку существования окна - ошибка появляется при повторном открытии. Пропробуйте проверить..
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|