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

HwGui 2.21

alkresin: Приветствую всех! Выпустил сегодня очередной релиз: HwGui 2.21 build 1. Как обычно, zip с исходниками - на Sourceforge, бинарники для Bcc 5.1 и Mingw 4.8.2 - у меня на http://www.kresin.ru/hwgui.html

Ответов - 56, стр: 1 2 3 All

alkresin: Вышел build 3 - исправлено несколько ошибок.

Andrey: Всем привет ! А как решается проблема которая существует всегда - подбор высоты фонта для разных разрешениях экрана ? Есть ли функция такая в HwGui, которая бы давала размер фонта автоматом ?

alkresin: Нет такой функции и я не очень представляю, как она должна работать. Что принять за базовое значение? И, если речи идет о том, чтобы текст имел оптимальный для пользователя размер, то имеет значение и физический размер экрана и, извините, острота зрения пользователя.


Andrey: alkresin пишет: Что принять за базовое значение? Да я вот тоже с этим мучаюсь на МиниГуи. Парк компов разный и разрешение экрана у всех разные. Хотелось бы узнать как делают программисты в этом случае ? Я сделал для своих программ такую универсальную функцию: [pre2]Function ModeSizeFont() LOCAL nSize IF GetDesktopHeight() == 600 nSize := 10 ELSEIF GetDesktopHeight() == 768 nSize := 12 ELSEIF GetDesktopHeight() == 800 nSize := 14 ELSEIF GetDesktopHeight() >= 1050 .OR. GetDesktopHeight() <= 1080 nSize := 16 ELSEIF GetDesktopHeight() == 1152 nSize := 18 ELSEIF GetDesktopHeight() >= 1200 nSize := 20 ELSE nSize := 15 ENDIF // Проверка установки БОЛЬШОГО фонта в настройках системы nSize := nSize - IIF(Large2Fonts(),2,0) RETURN nSize[/pre2] И при создании форм задаю всегда такой размер фонта на форму. Для кнопок уменьшаю размер фонта на -2 или увеличиваю для других объектов. Вот и интересно, правильный у меня подход к этому или нет.

Haz: Andrey пишет: и интересно, правильный у меня подход к этому или нет А я форму крашу в жёлтый, и мне интересно правильно или нет?

alkresin: Можно и так. Но лучше предоставлять пользователю возможность самому выбирать подходящий для него шрифт и хранить его где-нибудь в настройках программы.

alkresin: Собрал в виде отдельного пакета HwGUI tutorial и выложил на страницу HwGUI: http://www.kresin.ru/hwgui.html. Если кто не в курсе - это небольшая программа, где представлены базовые возможности HwGUI. Разбитые по разделам фрагменты кода, которые можно модифицировать и сразу запускать на выполнение, для этого не нужен ни сам HwGUI, ни Harbour, ни С.

PSP: Что-то не взлетает Error BASE/1081 Argument error: + Called from tutor.prg->BUILDTREE(169) Called from tutor.prg->MAIN(112) HWGUI 2.20 Build 3 Date:10/17/18 Time:14:34:28 hb_out.log ------------------------------------------------------------------------ Application Internal Error - C:\Users\Администратор\Desktop\hwguitutor\tutor.exe Terminated at: 2018-10-17 14:35:32 Unrecoverable error 9001: Error recovery failure Called from FOPEN(0) Called from HXMLDOC:READ(229) in source\common\xml\hxmldoc.prg Called from BUILDTREE(169) in tutor.prg Called from MAIN(112) in tutor.prg -------------------------------------------------------------------------

alkresin: Очень странно. Я пробовал на двух компьютерах, с XP и с 10-кой, все нормально. Такое может быть, если нет файла tutor.xml. У вас там с ним ничего не случилось?

PSP: Нет, всё на месте [pre2] Том в устройстве C не имеет метки. Серийный номер тома: 7E11-1684 Содержимое папки C:\Users\Администратор\Desktop\hwguitutor 17.10.2018 16:07 <DIR> . 17.10.2018 16:07 <DIR> .. 17.10.2018 10:59 <DIR> harbour 17.10.2018 16:06 405 hb_out.log 17.10.2018 15:54 1 917 440 hwgrun.exe 17.10.2018 11:00 140 hwgrun.xml 17.10.2018 10:59 <DIR> hwgui 17.10.2018 15:54 1 866 752 tutor.exe 17.10.2018 15:48 954 tutor.xml 01.10.2018 10:30 41 549 tutor_eng.xml 7 файлов 3 827 240 байт [/pre2] Еще раз скачал архив - то же самое.

Dima: Наверное русские буквы в пути не катят

PSP: Dima пишет: Наверное русские буквы в пути не катят Да, опередил ты меня))) Если папку с прогой перенести в корень, то она запускается.

alkresin: Точно. Дело в русских буквах в имени каталога. А вот почему это вдруг стало проблемой, надо выяснить.

alkresin: Хм... hb_argv[0] возвращает "????" вместо русского названия каталога. Я и не подозревал...

alkresin: Лечится, как выяснилось, если собрать приложение в UNICODE режиме. Вечерком сделаю.

alkresin: Собрал в UNICODE, залил.

Dima: alkresin пишет: Собрал в UNICODE, залил А без UNICODE не лечится проблема ?

alkresin: Лечится, если заблаговременно, лучше всего - в init procedure, установить требуюмую codepage - в нашем случае "RU1251".

alkresin: Вышел build 4: [*] XML parsing procedure catch more errors and doesn't hang on them now. [*] HTree, HTreeNode: bAction is renamed to bClick. [+] nBorder variable added to HSayBmp class to draw the border, if needed. [+] cFormName variable added to the HRepTmpl class to keep the path and name [!] Few bugs and compile time warnings fixed.

alkresin: Вышел build 5: [*] Now you may define a negative size value of a window or dialog, this mean that absolute value of the size is the size of client area, not a whole window rectangle. [+] ON CLICK, ON DBLCLICK clauses added to @...BITMAP and @...ICON commands. [*] compatibility of gtk and winapi versions improved. [!] Few important fixes.

nick_mi: Александр Добрый день. Собрал DBCHW и DBCHWx и открыл локальную базу. При попытке выйти за нижнюю запись получил ошибку в DBCHW и DBCHWx лог для DBCHWx: Error BASE/1132 Bound error: array access Called from source\winapi\hbrowse.prg->HBROWSE:EDIT(1725) Called from source\winapi\hbrowse.prg->HBROWSE:PAINT(823) Called from source\winapi\hbrowse.prg->HBROWSE:ONEVENT(300) Called from ->HWG_ACTIVATEMDIWINDOW(0) Called from source\winapi\hwindow.prg->HMAINWINDOW:ACTIVATE(361) Called from dbchw.prg->MAIN(296) HWGUI 2.21 Build 5 Date:05/11/18 Time:18:23:38

alkresin: Ошибку нашел, исправил. Спасибо. Теперь или берите свежие исходники с SVN, или ждите следующего релиза - в течение месяца, наверное, будет: я теперь чаще делаю релизы из-за GuiServer'а. Бинарники dbchw - локальную версию и под LetoDB тоже обновил.

AndreyZh: Извините за ламерский вопрос. Решил посмотреть примеры, а батник dld.bat выдаёт ошибку: xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633) Copyright 1999-2010, http://www.xharbour.org http://www.harbour-project.org/ Compiling 'grid_1.prg'... Lines 74, Functions/Procedures 6 Generating C source output to 'grid_1.c'... Done. Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland grid_1.c: Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Fatal: Unable to open file 'ECHO.LIB' Где эта библиотека находится?

Dima: AndreyZh пишет: батник dld.bat выдаёт ошибку Возможно в нем нужно исправить пути , на свои

AndreyZh: Dima пишет: Возможно в нем нужно исправить пути , на свои Перестроил, как Александр пишет в мануале, но в батнике вообще нет ссылки на эту библиотеку. Может быть её хочет bcc?

alkresin: AndreyZh пишет: Решил посмотреть примеры, а батник dld.bat выдаёт ошибку: bld.bat, наверное ? А в этом bat упоминается где-нибудь echo.lib? Я, честно говоря, даже не представляю пока, что это за библиотека и с какой стати она требуется. Может, что-то связанное непосредственно с xHarbour?

alkresin: Удалите из батника последнюю строчку 'del b32.bc', чтобы посмотреть на этот b32.bc - линк-файл, формируемый батником. Может, когда вы его правили, где-то кавычка случайно пропала и из строчек 'echo ...' образовался вызов библиотеки echo.lib.

AndreyZh: alkresin пишет: bld.bat, наверное ? А в этом bat упоминается где-нибудь echo.lib? Я, честно говоря, даже не представляю пока, что это за библиотека и с какой стати она требуется. Может, что-то связанное непосредственно с xHarbour? Конечно bld.bat. Подключил Харбор согласно совету: set HB_PATH=C:\hb30 Однако ошибка сохранилась. Полностью сообщения батника: Harbour 3.0.0 (Rev. 16951) Copyright (c) 1999-2011, http://harbour-project.org/ Compiling 'grid_1.prg'... 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 Lines 3565, Functions/Procedures 6 Generating C source output to 'grid_1.c'... Done. Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland grid_1.c: Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Fatal: Unable to open file 'ECHO.LIB'

AndreyZh: alkresin пишет: Удалите из батника последнюю строчку 'del b32.bc', чтобы посмотреть на этот b32.bc - линк-файл, формируемый батником. Может, когда вы его правили, где-то кавычка случайно пропала и из строчек 'echo ...' образовался вызов библиотеки echo.lib. Уже делал... просто стыдно задавать детские вопросы: c0w32.obj + grid_1.obj, + grid_1.exe, + grid_1.map, + ..\lib\hwgui.lib + ..\lib\procmisc.lib + ..\lib\hbxml.lib + ..\lib\hwgdebug.lib + echo ..\lib\hwg_qhtm.lib + ..\lib\hbactivex.lib + C:\hb30\lib\rtl.lib + C:\hb30\lib\vm.lib + C:\hb30\lib\gtgui.lib + C:\hb30\lib\lang.lib + C:\hb30\lib\codepage.lib + C:\hb30\lib\macro.lib + C:\hb30\lib\rdd.lib + C:\hb30\lib\dbfntx.lib + C:\hb30\lib\dbfcdx.lib + C:\hb30\lib\dbffpt.lib + C:\hb30\lib\common.lib + C:\hb30\lib\pp.lib + C:\hb30\lib\hsx.lib + C:\hb30\lib\hbsix.lib + cw32.lib + import32.lib, obj\hwgui_xp.res

alkresin: Ну вот, вы же видите эту строчку: echo ..\lib\hwg_qhtm.lib + . Никаких echo здесь не должно быть.

AndreyZh: alkresin пишет: Ну вот, вы же видите эту строчку: echo ..\lib\hwg_qhtm.lib + . Никаких echo здесь не должно быть. Спасибо! Осталось понять где она в батнике из поставки подсовывается?

alkresin: Да, это в батнике ошибка, там в строчке if exist %HWGUI_INSTALL%\lib\hwg_qhtm.lib echo echo %HWGUI_INSTALL%\lib\hwg_qhtm.lib + >> b32.bc второе echo надо убрать. У меня оно не выскакивает, потому что hwg_qhtm.lib нет.

AndreyZh: Ошибка в строке 35 bld.bat - дважды echo... Однако сейчас посыпались другие сообщения: Harbour 3.0.0 (Rev. 16951) Copyright (c) 1999-2011, http://harbour-project.org/ Compiling 'grid_1.prg'... Lines 3565, Functions/Procedures 6 Generating C source output to 'grid_1.c'... Done. Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland grid_1.c: Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_HB_PCREPOS_LIBRARY' referenced from C:\XHARBOUR\LIB\RTL.LIB|regex Error: Unresolved external '_hb_setGetOSCP' referenced from C:\HWGUI\LIB\HWGUI.LIB|draw Error: Unresolved external '_hb_parstr' referenced from C:\HWGUI\LIB\HWGUI.LIB|draw Error: Unresolved external '_hb_strfree' referenced from C:\HWGUI\LIB\HWGUI.LIB|draw Error: Unresolved external '_hb_extIsNil' referenced from C:\HWGUI\LIB\HWGUI.LIB|draw Error: Unresolved external '_hb_storvni' referenced from C:\HWGUI\LIB\HWGUI.LIB|draw Error: Unresolved external '_hb_itemCopyStr' referenced from C:\HWGUI\LIB\HWGUI.LIB|drawtext Error: Unresolved external '_hb_itemEqual' referenced from C:\HWGUI\LIB\HWGUI.LIB|drawtext Error: Unresolved external '_hb_itemPutStr' referenced from C:\HWGUI\LIB\HWGUI.LIB|drawtext Error: Unresolved external '_hb_retstrlen' referenced from C:\HWGUI\LIB\HWGUI.LIB|misc Error: Unresolved external '_hb_retstr' referenced from C:\HWGUI\LIB\HWGUI.LIB|misc Error: Unresolved external '_hb_itemGetStr' referenced from C:\HWGUI\LIB\HWGUI.LIB|window Error: Unresolved external '_hb_itemPutCLPtr' referenced from C:\HWGUI\LIB\HWGUI.LIB|window Error: Unresolved external '_hb_cdpFindExt' referenced from C:\HWGUI\LIB\HWGUI.LIB|window Error: Unresolved external '_hb_vmSetCDP' referenced from C:\HWGUI\LIB\HWGUI.LIB|window Error: Unresolved external '_hb_parstr_u16' referenced from C:\HWGUI\LIB\HWGUI.LIB|window Error: Unresolved external '_hb_strnull' referenced from C:\HWGUI\LIB\HWGUI.LIB|misc Error: Unresolved external '_hb_arrayGetStr' referenced from C:\HWGUI\LIB\HWGUI.LIB|control Error: Unresolved external '_hb_storstr' referenced from C:\HWGUI\LIB\HWGUI.LIB|control Error: Unresolved external '_HB_FUN___CLSLOCKDEF' referenced from C:\HWGUI\LIB\HWGUI.LIB|hdialog Error: Unresolved external '_HB_FUN___CLSUNLOCKDEF' referenced from C:\HWGUI\LIB\HWGUI.LIB|hdialog Error: Unresolved external '_hb_itemCopyStrU16' referenced from C:\HWGUI\LIB\HWGUI.LIB|dialog Error: Unresolved external '_HB_FUN_HB_ASCAN' referenced from C:\HWGUI\LIB\HWGUI.LIB|hcombo Error: Unresolved external '_HB_FUN_HB_TSTOSTR' referenced from C:\HWGUI\LIB\HWGUI.LIB|hbrowse Error: Unresolved external '_HB_FUN_HB_NUMTOHEX' referenced from C:\HWGUI\LIB\HWGUI.LIB|guimain Error: Unresolved external '_hb_strunshare' referenced from C:\HWGUI\LIB\HWGUI.LIB|commond Error: Unresolved external '_hb_storstrlen' referenced from C:\HWGUI\LIB\HWGUI.LIB|commond

AndreyZh: Тупо бросил все *.lib & *.ch в соответствующие каталоги Харбор. Список ошибок сборки уменьшился: Harbour 3.0.0 (Rev. 16951) Copyright (c) 1999-2011, http://harbour-project.org/ Compiling 'grid_1.prg'... Lines 3565, Functions/Procedures 6 Generating C source output to 'grid_1.c'... Done. Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland grid_1.c: Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_hb_extIsNil' referenced from C:\HWGUI\LIB\HWGUI.LIB|draw Error: Unresolved external '_hb_itemEqual' referenced from C:\HWGUI\LIB\HWGUI.LIB|drawtext

AndreyZh: Позвольте так же скопировать вопрос без ответа со страницы мануала. Для меня он так же актуален: Георгий 14 May, 2017, 0:37 Ответить Здравствуйте, Возможно ли решить следующую задачу: - Проект на Harbour 3.2, среда MS Windows, кодировка .prg CP866; - Все файлы проекта (.dbf и текстовые) в CP866; - hwgui. Хотелось бы сохранить CP866 для исходников и .dbf, но видеть окна и виджеты в читаемом виде, без ручной перекодировки в CP1251 всего, что туда отправляется/принимается. Как это лучше сделать?

alkresin: AndreyZh пишет: Тупо бросил все *.lib & *.ch в соответствующие каталоги Харбор. Список ошибок сборки уменьшился: Откуда бросил, из xHarbour? Лучше так не делать - такая путаница начнется... Если вы собрали HwGUI с xHarbour, то и примеры надо строить с ним: пути в батнике должны быть к xHarbour. Разберитесь, что чем у вас собрано. Вот эти hb_extIsNil и hb_itemEqual есть в Harbour и отсутствуют в xHarbour

alkresin: AndreyZh пишет: Хотелось бы сохранить CP866 для исходников и .dbf, но видеть окна и виджеты в читаемом виде, без ручной перекодировки в CP1251 всего, что туда отправляется/принимается. С dbf все достаточно просто, надо при открытии файла указывать codepage 866. Если для программы указана hb_cdpSelect("RU1251"), то все будет автоматически конвертироваться. А вот с исходниками я не понял. Почему они на 866, они писались для консоли? Если так, то их все-равно переделывать ?

Vlad04: Попробовал пересобрать стары проект, ошибка выскакивает при вызове Excel oExcel := GetActiveObject( "Excel.Application" ) Res:=.t. hwg_Msginfo("Старт Excel - активация 1 !" ) CATCH Res:=.f. TRY oExcel := CreateObject( "Excel.Application" ) ....

AndreyZh: alkresin пишет: Откуда бросил, из xHarbour? Ничего не пересобирал. Взял бинарники с Вашего сайта. В последней сборке примера из hwgui библы и ch кинул в соответствующие каталоги харбора alkresin пишет: С dbf все достаточно просто, надо при открытии файла указывать codepage 866. Если для программы указана hb_cdpSelect("RU1251"), то все будет автоматически конвертироваться. А вот с исходниками я не понял. Почему они на 866, они писались для консоли? Если так, то их все-равно переделывать ? Есть исходник 866: 5% интерфейса и 95% "математики"... хотелось бы интерфейс переделать под гуи, оставив остальное, как есть Спасибо за подсказки. Завтра будет время - ещё "поиграюсь"

Andrey: AndreyZh пишет: Возможно ли решить следующую задачу: - Проект на Harbour 3.2, среда MS Windows, кодировка .prg CP866; - Все файлы проекта (.dbf и текстовые) в CP866; - hwgui. Хотелось бы сохранить CP866 для исходников и .dbf, но видеть окна и виджеты в читаемом виде, без ручной перекодировки в CP1251 всего, что туда отправляется/принимается. Как это лучше сделать? У меня тоже был проект на терминалке на хХарборе. Сейчас переделал на МиниГуи: базы в 866 кодировке, экран 1251. Исходники переделал под 1251, чтобы редактором нормальными пользоваться и вывод в лог-файлы была кодировка 1251 (делаю юзеру запуск лог-файла с notepad'ом). Убил времени порядочно, пока осваивал, да и не всегда время позволяло, зато теперь задача классно смотрится и работает, сейчас пробую переходить на МиниГуи и MS VC2017 64bit, получается.

alkresin: AndreyZh пишет: Ничего не пересобирал. Взял бинарники с Вашего сайта. Я спросил, потому что в вашем первом листинге было: xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633) Copyright 1999-2010, http://www.xharbour.org http://www.harbour-project.org/ Т.е., вы собираете xHarbour'ом HwGUI-библиотеки, сделанные Harbour'ом ? Ничего хорошего из этого не может получиться. Есть исходник 866: 5% интерфейса и 95% "математики"... хотелось бы интерфейс переделать под гуи, оставив остальное, как есть Я все-таки не понял. Это остальное формирует строки, прописанные непосредственно в исходниках, которые потом использует интерфейсная часть?

alkresin: Vlad04 пишет: oExcel := GetActiveObject( "Excel.Application" ) ... CreateObject( "Excel.Application" ) Попробуйте win_OleCreateObject(), это из библиотеки hbwin

Dima: Vlad04 пишет: Попробовал пересобрать стары проект, ошибка выскакивает при вызове Excel Указал бы на какой строке что ли..

AndreyZh: Всё перепуталось... ну и ладно alkresin пишет: Я спросил, потому что в вашем первом листинге было: xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633) Copyright 1999-2010, http://www.xharbour.org http://www.harbour-project.org/ Т.е., вы собираете xHarbour'ом HwGUI-библиотеки, сделанные Harbour'ом ? Ничего хорошего из этого не может получиться. Не пересобирал, а взял дистрибутив с бинарниками… Первый раз тупо попытался собрать пример, используя рабочий xHarbour, наткнувшись на ошибку по echo остальные попытки делал уже на Harbouur 3.0 alkresin пишет: Я все-таки не понял. Это остальное формирует строки, прописанные непосредственно в исходниках, которые потом использует интерфейсная часть? Пока это не важно, а для меня неспешно нужно понять работоспособность и пригодность инструмента, хотя бы на приложенных примерах. Увы для этого мало времени, т.к. приходится поддерживать и постоянно развивать два огромных консольных проекта. На Ваш инструмент "заглядываюсь" давно и мне он очень потенциально интересен по двум соображениям: 1. В нём реализован разумный Гуёвый минимум, что в принципе потенциально облегчит изучение и миграцию. К тому же появился нормальный рускоязычный мануал; 2. Учитывая "непредсказуемость" государства Российского поддержка Linux является огромным козырем, а учить собираюсь лишь возможности поддерживаемые одновременно во всех ОС... это же одна из причин, что продолжаю писать консольные программы Спасибо Вам за Вашу полезную разработку!!!

AndreyZh: Возможно "пригодиться". При попытке собрать проект hwgui из сырцов дало ошибку на отсутствие ch файла, которого нигде нет MAKE Version 5.2 Copyright (c) 1987, 2000 Borland c:\xHarbour\bin\harbour.exe -iinclude;\include -n -q0 -w -es2 -gc0 source\winapi\hipedit.prg -oobj\b32\hipedit.c source\winapi\hipedit.prg(12) Error F0029 Can't open #include file: 'hbclass.ch' ** error 1 ** deleting obj\b32\hipedit.c

alkresin: AndreyZh пишет: Can't open #include file: 'hbclass.ch' Это Харборовский файл (он и в xHarbour есть), в его /include. У вас, похоже, HB_PATH не установлен, поэтому получилось c:\xHarbour\bin\harbour.exe -iinclude;\include -n -q0 -w -es2 -gc0 source\winapi\hipedit.prg -oobj\b32\hipedit.c вместо c:\xHarbour\bin\harbour.exe -iinclude;c:\xHarbour\include -n -q0 -w -es2 -gc0 source\winapi\hipedit.prg -oobj\b32\hipedit.c

alkresin: AndreyZh пишет: остальные попытки делал уже на Harbouur 3.0 А где вы его взяли? На сайте ночная сборка - 3.2

AndreyZh: Вроде бы собрал HWGUI из исходников при помощи xHarbour... Однако при сборке любых примеров вылетает одинаковая ошибка xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6633) Copyright 1999-2010, http://www.xharbour.org http://www.harbour-project.org/ Compiling 'tab.prg'... Lines 57, Functions/Procedures 2 Generating C source output to 'tab.c'... Done. Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland tab.c: Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_HB_IS_TIMEFLAG' referenced from C:\HWGUI\LIB\HWGUI.LIB|misc Error: Unresolved external '_HB_FUN_HB_TSTOSTR' referenced from C:\HWGUI\LIB\HWGUI.LIB|hbrowse

alkresin: Этих функций в xHarbour нет. Просто закомментируйте строку с вызовом HB_IS_TIMEFLAG в misc.c и HB_TSTOSTR в hbrowse.prg, Если вы не используете тип данных DATETIME (я, например, не использую), то проблем не будет. Я поставлю вокруг них #ifndef _XHARBOUR_

AndreyZh: Спасибо за подсказку. Закоментировал - примеры собираются. Если интересно: в helpdemo при нажатии F1 вылет с диагностическим окном ОС

alkresin: Исправил. Там надо в misc.c, функция HB_FUNC( HWG_GETHELPDATA ) поменять hb_parnl на HB_PARHANDLE и hb_retnl на HB_RETHANDLE, функция HB_FUNC( HWG_WINHELP ), строчка hb_retni( WinHelp( ( HWND ) hb_parnl( 1 ), HB_PARSTR( 2, &hStr, NULL ), тоже поменять hb_parnl на HB_PARHANDLE

AndreyZh: Доброе утро Александр. По мере нахождения времени пытаюсь вникнуть в Ваш инструмент и в принципе все предположения о нём и ожидания оправдываются… 1. Интересны ли Вам ошибки? Например в примерах: grid_4.prg - лишняя строка oServer:Close() вызывающая ошибку; testtray.prg - вылет при запуске: Error BASE/1004 Class: 'NIL' has no exported method: HANDLE Called from ->HANDLE(0) Called from source\winapi\hwindow.prg->HMAINWINDOW:INITTRAY(397) Called from testtray.prg->MAIN(15) 2. Маленький вопрос. Стандартный серый цвет скучноват. Область окон и контролов могу украсить. Можно ли? Менять оформление области меню и/или заголовка окна - они как бы "сливаются"

AndreyZh: Вот и сейчас... попытался использовать, как бы очевидную вещь. Полностью код: [pre2] * -------------------------------------------------------------------------------------------------- * Произвожу другие эксперименты в окне диалогов. Попробую Grid и просмотр таблиц в дос кодировке PROC pgDialogGet() LOCA oModDlg LOCA oIcon:= HIcon():AddFile("Bob.ico") // Открываю Dos таблицу в соответствующей кодировке - якобы преобразование будут на лету? USE ("hle.dbf") EXCLUSIVE NEW CODEPAGE (cgCodePage) // Задаём метод при закрытии окна - закрыть таблицу INIT DIALOG oModDlg TITLE " Модальное окно для теста"; AT 150,180 SIZE 800,300 ICON oIcon; BACKCOLOR hwg_ColorC2N(cgBackCol) NOEXIT; ON EXIT {||HLE->(DbCloseArea())} @ 20,257 SAY "Алиас: "+Alias() SIZE 100, 18 BACKCOLOR hwg_ColorC2N(cgBackCol) @ 680,250 BUTTON "Выход" ID IDCANCEL SIZE 100, 32 ACTIVATE DIALOG oModDlg RETU [/pre2] После добавления выделенной команды, закрывающей таблицу программа вываливается по ошибке: Error BASE/1066 Argument error: conditional Called from source\winapi\hdialog.prg->HWG_ENDDIALOG(515) Called from source\winapi\hdialog.prg->ONDLGCOMMAND(368) Called from source\winapi\hdialog.prg->(b)(_INITSTATICS00003)(0) Called from source\winapi\hdialog.prg->HDIALOG:ONEVENT(196) Called from ->HWG_DLGBOXINDIRECT(0) Called from source\winapi\hdialog.prg->HDIALOG:ACTIVATE(141) Called from test.prg->PGDIALOGGET(80) Called from test.prg->(b)MAIN(32) Called from source\winapi\hwindow.prg->ONCOMMAND(607) Called from source\winapi\hwindow.prg->(b)HMAINWINDOW(289) Called from source\winapi\hwindow.prg->HMAINWINDOW:ONEVENT(379) Called from ->HWG_ACTIVATEMAINWINDOW(0) Called from source\winapi\hwindow.prg->HMAINWINDOW:ACTIVATE(368) Called from test.prg->MAIN(59) HWGUI 2.21 Build 5 Date:11/14/18 Time:10:56:04

alkresin: AndreyZh пишет: ON EXIT {||HLE->(DbCloseArea())} Кодоблок для on exit всегда должен возвращать логическое значение - результат проверки, можно ли закрывать окно/диалог. Если это .F. - диалог не будет закрыт. Вам надо написать: ON EXIT {||HLE->(DbCloseArea()),.T.}

alkresin: AndreyZh пишет: Интересны ли Вам ошибки? Да, конечно. Что касается grid_4 - исправлю, конечно. Grid и listbox - те классы, которые писали бразильские коллеги и в полезности которых я сильно сомневаюсь, т.к. они не кроссплатформенны (в gtk таких родных просто нет) и для них есть универсальная замена - hbrowse, гораздо более функциональная. А testray я уже исправил и расширил несколько дней тому назад (см. SVN) - там надо а testtray.rc изменить название файла иконки, вместо pim.ico (такого в images Просто нет) на, например, ok.ico. Менять оформление области меню и/или заголовка окна - они как бы "сливаются" Такой возможности сейчас в HwGUI нет. Это области системные, я не уверен, что вообще можно это делать. Можно, конечно, поискать пути. Один из вариантов с меню - не делать системного иеню вообще, а вместо этого поставить наверху панель с кнопками и на одну из кнопок посадить контекстное меню. Так сейчас, например, в броузерах делают - кнопка с тремя полосками.

AndreyZh: Спасибо за информацию... Про "Grid и listbox - те классы, которые писали бразильские коллеги и в полезности которых я сильно сомневаюсь, т.к. они не кроссплатформенны" забыл, а интересны только кроссплатформенные возможности. Вникать в HwGUI могу только в "перерывах", но буду стараться, по мере возможности



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