Автор | Сообщение |
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[см. все]
|
|
SergKis
|
| постоянный участник
|
Пост N: 2886
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.09.19 11:27. Заголовок: gfilatov2002 пишет Р..
gfilatov2002 пишет Спасибо за пояснение.
|
|
|
Avf
|
| |
Пост N: 31
Зарегистрирован: 19.10.05
|
|
Отправлено: 16.09.19 12:02. Заголовок: После перехода с вер..
После перехода с версии Minigui 19.02 на 19.03 ( и более поздние ) при выполнении * Form_1.Browse_1.Value := RecNo() DoMethod('Form_1','Browse_1','Value',RecNo()) (например,в Sample/Basic/Browse_1) если Arg3 = "Value" ( и наверное не только ) выполнение идет на OTHERWISE MsgMiniGuiError( "Control: unrecognized method '" + Arg3 + "'." ) в h_controlmisc.prg. Зачем это было сделано и что надо исправить в исходниках ? Спасибо за внимание.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6443
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.09.19 12:08. Заголовок: Avf пишет: DoMethod..
Avf пишет: цитата: | DoMethod('Form_1','Browse_1','Value',RecNo()) |
| Может я и не прав, но DoMethod() нельзя так использовать. Здесь нужно использовать SetProperty()
|
|
|
Avf
|
| |
Пост N: 32
Зарегистрирован: 19.10.05
|
|
Отправлено: 16.09.19 12:14. Заголовок: Почему нельзя ? До м..
Почему нельзя ? До марта 2019 было можно и все работало. Кроме того, в другой нотации ( Form_1.Browse_1.Value := RecNo() ) не всегда удобно использовать вместо имен окна/бровса переменные.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1585
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.09.19 12:24. Заголовок: Avf пишет: Зачем эт..
Avf пишет: Для быстрого обнаружения ошибок или опечаток при неправильном применении свойств и методов. Andrey пишет: цитата: | DoMethod() нельзя так использовать |
| Да, верно. Потому что VALUE - это свойство, а не метод у элемента управления
|
|
|
Avf
|
| |
Пост N: 33
Зарегистрирован: 19.10.05
|
|
Отправлено: 16.09.19 12:30. Заголовок: Спасибо за разъяснен..
Спасибо за разъяснение.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2888
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.09.19 12:39. Заголовок: Avf пишет Кроме того..
Avf пишет цитата: | Кроме того, в другой нотации ( Form_1.Browse_1.Value := RecNo() ) не всегда удобно использовать вместо имен окна/бровса переменные. |
| Для бровсе и др. контролов будет работать через переменные cNam := 'Browse_1' This.&(cNam).Value := ... // др. свойства\методы тоже будут работать Form_1.&(cNam).Value := ... Если использовать SET OOP ON и события, то в них будет среда This всегда и доступны команды This.&(cNam).Value := ... и т.д.
|
|
|
Avf
|
| |
Пост N: 34
Зарегистрирован: 19.10.05
|
|
Отправлено: 16.09.19 13:33. Заголовок: Именно использование..
Именно использование макроподстановки и является неудобством. цитата: | Если использовать SET OOP ON и события, то в них будет среда This всегда |
| Спасибо.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2889
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.09.19 14:56. Заголовок: Avf пишет Именно исп..
Avf пишет цитата: | Именно использование макроподстановки и является неудобством |
| Смотря когда. Пример as := dbStruct() y := x := 10 for each af in as @ y, x label &( af[1]+'_lbl' ) .... value af[1] ... x += This.&( af[1]+'_lbl' ).Width + 10 @ y, x getbox &( af[1] ) .... value &(af[1]) ... y += This.&( af[1]+'_lbl' ).Height + 10 next ... Писать с именами всегда можно nOld := This.Browse_1.Value This.Browse_1.Value := ...
|
|
|
Avf
|
| |
Пост N: 35
Зарегистрирован: 19.10.05
|
|
Отправлено: 16.09.19 15:21. Заголовок: Error: Unresolved ex..
цитата: | Error: Unresolved external '_HB_FUN_WIN_OSVERSIONINFO' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSISNT' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSISNT351' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSISNT4' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSIS2000ORUPPER' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSIS2000' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSISXP' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSISWINXPORUPPER' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSIS2003' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSISVISTA' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSISVISTAORUPPER' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSIS7' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSIS8' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSIS9X' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSIS95' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSIS98' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSISME' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSISTSCLIENT' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSNETREGOK' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Error: Unresolved external '_HB_FUN_WIN_OSNETVREDIROK' referenced from C:\MINIGUI\HARBOUR\LIB\XHB.LIB|xwin_ver Эти функции появились в Харборе 10 лет назад (в ноябре 2009 года). По-видимому, используется более старая версия Харбора |
| В последней версии сборки(19.08) эти функции перебрались из xhb.lib в hbwin.lib.
|
|
|
Avf
|
| |
Пост N: 36
Зарегистрирован: 19.10.05
|
|
Отправлено: 16.09.19 15:25. Заголовок: Смотря когда Я согла..
Я согласен. Но это уже особенности языка.
|
|
|
|
avf2007
|
| |
Пост N: 3
Зарегистрирован: 18.02.11
|
|
Отправлено: 21.09.19 10:53. Заголовок: Случайно обратил вни..
Случайно обратил внимание : в h_browse.prg : *-----------------------------------------------------------------------------* FUNCTION _GetBrowseFnValue ( cTemp ) *-----------------------------------------------------------------------------* LOCAL cRet := 'Nil' SWITCH ValType ( cTemp ) CASE 'N' cRet := hb_ntos ( &cTemp ) ... наверное, должно быть : SWITCH ValType ( &cTemp )
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6448
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.09.19 22:06. Заголовок: На нормальных компах..
На нормальных компах под Win7 заметно очень скачки окна HMG_Alert(). Сначала окно появляется чуток пониже верха экрана и в левом углу, потом скачет в центр экрана. Под Win8.1 вроде не замечал, но у меня комп побыстрее обычного, офисного компа. Почему так ? Можно ли убрать эти скачки ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2909
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.09.19 22:19. Заголовок: Поправь h_alert.prg ..
Поправь h_alert.prg DEFINE WINDOW &cForm WIDTH 0 HEIGHT 0 TITLE cTitle MODAL NOSIZE BACKCOLOR aBackColor ; ON INTERACTIVECLOSE ( lPressButton .OR. lClosable ) ; ON INIT Nil ; ON RELEASE iif( !lPressButton .AND. lClosable, _HMG_ModalDialogReturn := 0, NIL ) FillDlg( cMsg, aOptions, nLineas, cIcoFile, nIcoSize, aBtnColors, bInit, lClosable, cFontName ) END WINDOW ACTIVATE WINDOW &cForm ON INIT This.Center() В ON INIT окно уже на экране в нач. координатах, this.center() там -> передергивает в центр.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2910
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.09.19 22:21. Заголовок: PS или как обычно CE..
PS или как обычно CENTER WINDOW &cForm ACTIVATE WINDOW &cForm
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2911
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.09.19 22:32. Заголовок: PPS УПС. Вспомнил. ..
PPS УПС. Вспомнил. В предыдущей версии hmg было ON INTERACTIVECLOSE ( lPressButton .OR. lClosable ) ; ON RELEASE iif( ! lPressButton .AND. lClosable, _HMG_ModalDialogReturn := 0, NIL ) FillDlg( cMsg, aOptions, nLineas, cIcoFile, nIcoSize, aBtnColors, bInit, lClosable, cFont ) END WINDOW ACTIVATE WINDOW &cForm ... *-----------------------------------------------------------------------------* STATIC FUNCTION FillDlg( cMsg, aOptions, nLineas, cIcoFile, nIcoSize, aBtnColors, bBlock, lClosable, cFont ) *-----------------------------------------------------------------------------* ... This.&( aBut[ Max( 1, Min( nLenaOp, _HMG_ModalDialogReturn ) ) ] ).SetFocus() This.Center() IF lClosable ON KEY ESCAPE OF &cForm ACTION ( _HMG_ModalDialogReturn := 0, lPressButton := .T., ThisWindow.Release() ) ENDIF IF HB_ISBLOCK( bBlock ) Do_WindowEventProcedure( bBlock, This.Index, 'WINDOW_ACTIVATE' ) ENDIF IF _IsControlDefined( "oTimer", cForm ) This.oTimer.Enabled := .T. ENDIF RETURN NIL Это более правильно, по мне, т.к. в bInit можно изменить размеры окна и повторить This.Center для них или не делать центровку, а задать row, col позицию
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2912
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.09.19 22:43. Заголовок: PS к этому (из пред...
PS к этому (из пред. версии) можно в DEFINE WINDOW ... добавить NOSHOW, а в ON INIT This.Show()
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2913
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.09.19 23:07. Заголовок: SergKis пишет к этом..
SergKis пишет цитата: | к этому (из пред. версии) можно в DEFINE WINDOW ... добавить NOSHOW, а в ON INIT This.Show() |
| Проверил на примере Advanced\App_OopReport\demo2.prg Все нормально, перемещал main окно в разные углы, вызывал карточку, менял вызывая справочник, жал Cancel ... все HMG_Alert() отработали как надо.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6449
Зарегистрирован: 12.09.06
|
|
Отправлено: 21.09.19 23:16. Заголовок: SergKis пишет: Все ..
SergKis пишет: цитата: | Все нормально, перемещал main окно в разные углы, вызывал карточку, менял вызывая справочник, жал Cancel ... все HMG_Alert() отработали как надо. |
| Теперь бы в самой библиотеке МиниГуи поменять, чтобы в следующей версии это не вылезло опять !
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1586
Зарегистрирован: 11.02.10
|
|
Отправлено: 22.09.19 14:18. Заголовок: SergKis пишет: В пр..
SergKis пишет: цитата: | В предыдущей версии hmg было |
| Сделал, как в предыдущей версии... Кстати, это SergKis попросил изменить, когда работал с карточкой в примере Advanced\App_OopReport\demo2.prg Andrey пишет: цитата: | Теперь бы в самой библиотеке МиниГуи поменять |
| OK
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[см. все]
|
|