Форум » GUI » hwgui » Ответить

hwgui

Pasha: Что-то я совсем запутался Сделал svn commit по адресу: https://hwgui.svn.sourceforge.net/svnroot/hwgui Последний коммит был 2012-09-25 19:30 UTC-0300 Luis Fernando Basso <lfbasso at via-rs.net> На сайте проекта и в майл-листе вижу, что коммиты были и после этой даты. Но что-то не найду новый адрес А ветвь, куда я сбросил изменения, заморожена и не развивается ?

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

alkresin: Pasha пишет: А к содержимому, к примеру, HCombobox:aItems из отладчика уже доступа нет. Доступ есть, из командной строки: :inspect oCombobox:aItems но, конечно, кликнуть по строчке - удобнее. Сделаю.

vladru: Собрал пример hwgui\samples\demodbf.prg В диалоге (Tel_Ferramentas) при нажатии кнопки New или Edit программа вылетает по ошибке. Вот Error.log: Error HCUSTOMWINDOW/0 Invalid class member Called from source\winapi/hcwindow.prg->HEDIT:HWG_SETFOCUS(203) Called from demodbf.prg->(b)CADASTRO(77) Called from source\winapi/hownbtn.prg->HOWNBUTTON:MUP(364) Called from source\winapi/hownbtn.prg->HOWNBUTTON:ONEVENT(139) Called from ->HWG_DLGBOXINDIRECT(0) Called from source\winapi/hdialog.prg->HDIALOG:ACTIVATE(136) Called from demodbf.prg->CADASTRO(116) Called from demodbf.prg->(b)MAIN(36) Called from source\winapi/hwindow.prg->ONCOMMAND(523) Called from source\winapi/hwindow.prg->(b)HMAINWINDOW(231) Called from source\winapi/hwindow.prg->HMAINWINDOW:ONEVENT(317) Called from ->HWG_ACTIVATEMAINWINDOW(0) Called from source\winapi/hwindow.prg->HMAINWINDOW:ACTIVATE(306) Called from demodbf.prg->MAIN(47) HWGUI 2.18 Build 1 Date:28/10/2013 Time:15:02:08 Пустая БД (FORNECED.dbf) создается без ошибок. Но даже если в неё руками добавить несколько не пустых записей, то значения их полей всё-равно не отображаются в диалоге. Другие примеры использующие БД, например dbview.prg, работают правильно, и записи в БД добавляют. Win7. Пробовал компилятор harbour 3.0.0. + MinGW из стандартной поставки. И собранный bcc harbour 3.2.0. + bcc. Ошибка одна и таже. Пробовал запускать exe`ник от администратора - не помогает. Не знаю как искать причину, но очень хотелось бы разобраться. В том числе и для того чтобы понять как искать баг (если он есть). Может кто-нибудь попробует собрать этот пример у себя чтобы понять есть ли ошибка в самой программе или это проблемы моего окружения?

AlexMyr: vladru пишет: В диалоге (Tel_Ferramentas) при нажатии кнопки New или Edit программа вылетает по ошибке. Вот Error.log: Замените hwg_setfocus() на setfocus т.к. в классе hControl есть метод setfocus()


vladru: AlexMyr пишет: Замените hwg_setfocus() на setfocus т.к. в классе hControl есть метод setfocus() спасибА. Теперь работает.

vladru: Пробую разобраться с Дизайнером изучая huchet... Заинтересовало создание/распечатка, отчетов как например платежное поручение в huchet. Но форма отчета для того же плат.поручения (plat.xml) у меня в дизайнер не загружается... А как же отчеты создавать и редактировать ? И еще вопрос: при построении примеров из \designer\samples получаю: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Fatal: Unable to open file 'RTL.LIB' А где её взять ?

AlexMyr: vladru пишет: Заинтересовало создание/распечатка, отчетов как например платежное поручение в huchet. Но форма отчета для того же плат.поручения (plat.xml) у меня в дизайнер не загружается... А как же отчеты создавать и редактировать ? Если просто запустить designer.exe, то это дизайнер форм, если с опцией -r так designer.exe -r, то будет работать дизайнер отчетов.

AlexMyr: vladru пишет: И еще вопрос: при построении примеров из \designer\samples получаю: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Fatal: Unable to open file 'RTL.LIB' А где её взять ? Не знаю как вы собираете, а я с помощью hbp файла ../../../hwgui.hbc example.prg

vladru: AlexMyr Я собирал через bldexam.bat, который в samples лежит... А как Вы указали (hbmk2 ../../../hwgui.hbc example.prg) собралось.

vladru: AlexMyr Про дизайнер отчетов спасибо. А можно создать внутри отчета повторяющуюся часть, чтобы, например, список отобранных платежек вывести? Может ещё где-то можно посмотреть примеры формирования отчетов?

AlexMyr: vladru пишет: А можно создать внутри отчета повторяющуюся часть, чтобы, например, список отобранных платежек вывести? Создайте PrintArea и задайте AreaType = Table, потом задаете в методе onNextLine обработку для таблицы. Смотрите пример отчета hwgui\utils\designer\samples\testrep1.xml

AlexMyr: Александр, какие-то проблемы при сборке hwgui под linux, смотрите https://groups.google.com/forum/#!topic/harbour-users/dXzeCQyiRnI, под виндой нормально.

alkresin: AlexMyr пишет: какие-то проблемы при сборке hwgui под linux Поправил, спасибо за информацию.

AlexMyr: Александр, хотел переделать в дизайнере richedit на hcedit, но получается что hcedit валится при работе в init dialog (Called from HCEDIT:SETTEXT(747) in source\common\editor\hcedit.prg) , при init window работает. [pre2]#include "hwgui.ch" FUNC Main() LOCAL oDlg, oText INIT dialog oDlg at 0, 0 size 500, 400 oText := HCEdit():New( oDlg,,, 010, 010, 450, 350 ) oText:oHili := Nil oText:SetText("sdklfsdkfj") odlg:activate() RETURN NIL [/pre2] Получается при init window - oText:hEdit это pointer, а при init dialog - oText:hEdit это object.

alkresin: AlexMyr пишет: хотел переделать в дизайнере richedit на hcedit Дело хорошее. Получается при init window - oText:hEdit это pointer, а при init dialog - oText:hEdit это object. Нет, не объект, а Nil ("U"). В отличие от главного окна при создании диалога все handle инициализируются только после activate dialog - это особенность WinAPI

alkresin: Мда... В диалоге он не работает, надо поправить кое-что.

alkresin: Поправил. И заодно сделал, чтобы :Settext() в диалоге можно было вызывать до активации.

AlexMyr: alkresin пишет: Поправил. И заодно сделал, чтобы :Settext() в диалоге можно было вызывать до активации. Спасибо, попробую с понедельника поработать над дизайнером.

vladru: Наткнулся на такую проблему: в немодальном диалоге не выводится текст через SAY, хотя в таком же диалоге, но активированном как модальный, всё работает. Вот пример: #include "hwgui.ch" Function Main Local oMainWindow INIT WINDOW oMainWindow MAIN TITLE "Example" ; AT 200,0 SIZE 400,150 MENU OF oMainWindow MENUITEM "&Exit" ACTION hwg_EndWindow() MENUITEM "&Show" ACTION DlgWait() ENDMENU ACTIVATE WINDOW oMainWindow Return Nil Static Function DlgWait() Local oDlg INIT DIALOG oDlg AT 0,0 SIZE 200,70 ; STYLE DS_CENTER + WS_SYSMENU @ 10, 10 SAY "Wait, please 2 sec." SIZE 180,20 ACTIVATE DIALOG oDlg NOMODAL oDlg:Show() Inkey(2) oDlg:Close() Return oDlg Если при активации диалога убрать NOMODAL, то надпись "Wait, please 2 sec." будет видна, а c NOMODAL висит окошко без надписи и убирается через 2 секунды.... Хотелось бы разобраться.

alkresin: Функция Inkey() не должна использоваться в GUI приложениях, там используется иной механизм ввода/вывода, она только для консоли. Используйте таймер: STATIC FUNCTION DlgWait() LOCAL oDlg, oTimer INIT DIALOG oDlg TITLE "1" AT 0, 0 SIZE 200, 80 ; STYLE DS_CENTER + WS_SYSMENU + WS_VISIBLE @ 10, 10 SAY "Wait, please 2 sec." SIZE 180, 20 ACTIVATE DIALOG oDlg NOMODAL SET TIMER oTimer OF oDlg VALUE 2000 ACTION { || oDlg:Close() } RETURN oDlg

vladru: Я Inkey вставил просто для задержки. В реальной программе после вызова DlgWait идет индексация файлов, а надпись "идет индексация" не видна. Функцию DlgWait я взял из примера dbview.prg. В этом примере надпись "indexing" то же не видна при индексации. Интересно что если вместо Inkey(2) вставить SET TAIMER, как Вы указали, то надпись видна, но если такую конструкцию: nSec := Seconds() DO WHILE Seconds() < nSec+2 ENDDO то нет надписи.



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