Форум » [x]Harbour » Переход на версию xHarbour 1.2 + GTWVT-терминал ? » Ответить

Переход на версию xHarbour 1.2 + GTWVT-терминал ?

Andrey: Всем привет. Пытаюсть прейти с версии 1.0 на 1.2 ! Собираю GTWVT-терминалку. Пишет ошибку: HbMake v1.20 - xHarbour Make Utility Copyright (C) 2000-2009 xHarbour project -http://www.xharbour.org xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 6406) / Borland C++ 5.5.1 (32 bit) Z:\BCC55\BIN\ilink32 @makefile.lnk Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_HB_FUN_HB_CODEPAGE_RU1251' referenced from G:\@MAIL\MY-ALL\╤╚ ─╬╨╬┬ └╦┼╩╤└═─╨\GTWVT-CHOICE\OBJ\MAINTO.OBJ Error: Unresolved external '_HB_FUN_GTINFO' referenced from G:\@MAIL\MY-ALL\╤╚─╬╨╬┬ └╦┼╩╤└ ═─╨\GTWVT-CHOICE\OBJ\MAINTO.OBJ Файл сборки делал через hbmake.exe - новой версии. В списах библиотеки присутсвуют: lang.lib codepage.lib gtwvt.lib gtwvg.lib Я так понимаю функции GTINFO в версии 1.2 уже нет. Какой можно заменить ? А куда делась функция CODEPAGE_RU1251 ?

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

AlexMyr: Что-то подсказывает. что нужно полистать changelog, наверняка там будет написано про изменения с версии 1.0 на 1.2.

Andrey: Так в установленном дистрибутиве нет его !

gfilatov2002: Andrey пишет: Я так понимаю функции GTINFO в версии 1.2 уже нет. Какой можно заменить ? А куда делась функция CODEPAGE_RU1251 ? GTINFO --> hb_gtInfo RU1251 --> RUWIN


Andrey: gfilatov2002 Спасибо БОЛЬШОЕ !!! Ковырялся в changelog на сайте, не нашел с ходу ! Я уже спрашивал раньше про GTINFO но где уже не помню. Блин и сегодня поиск по форуму не работает ....

Andrey: Что-то нет документации по терминалу GTWVT в xHarbour\contrib\gtwvg ? Это что, отказ в будущем от этого терминала ? Кто подскажет - как правильно пользоваться этим терминалом ? Название функций везде идет Wvt_ , значит нельзя использовать hb_gtInfo() Т.е. какое написание правильное ? Wvt_SetFont(cFont,nWidth,nHeight) или Hb_GtInfo( HB_GTI_FONTNAME , cFont ) Hb_GtInfo( HB_GTI_FONTWIDTH, nWidth ) Hb_GtInfo( HB_GTI_FONTSIZE , nHeight ) В начале модуля приходится определять: #include 'wvtwin.ch' и #include 'hbgtinfo.ch' Можно ли одновременно так ? Я понимаю, что методом проб и ошибок можно попробовать, но хочется получить ответ от того кто уже это знает ! Заранее спасибо за ответ !

Andrey: Ау ? Неужели никто не знает ответы на мои предыдущие вопросы ?

Haz: Андрей , чудес не бывает ... Скорее всего функция теперь живет в другой библиотеке . Пройдись поиском по библиотекам на содержание 'HB_FUN_HB_CODEPAGE_RU1251'. Где найдет - ту библиотеку ( или одну из них ) и не прицепил.

Andrey: Haz пишет: Андрей , чудес не бывает ... Да про другое спрашивал..... Haz пишет: Андрей , чудес не бывает ... Да про другое спрашивал..... Что-то нет документации по терминалу GTWVT в xHarbour\contrib\gtwvg ? Это что, отказ в будущем от этого терминала ? Кто подскажет - как правильно пользоваться этим терминалом ? Название функций везде идет Wvt_ , значит нельзя использовать hb_gtInfo() Т.е. какое написание правильное ? Wvt_SetFont(cFont,nWidth,nHeight) или Hb_GtInfo( HB_GTI_FONTNAME , cFont ) Hb_GtInfo( HB_GTI_FONTWIDTH, nWidth ) Hb_GtInfo( HB_GTI_FONTSIZE , nHeight ) В начале модуля приходится определять: #include 'wvtwin.ch' и #include 'hbgtinfo.ch' Можно ли одновременно так ? Я понимаю, что методом проб и ошибок можно попробовать, но хочется получить ответ от того кто уже это знает ! Заранее спасибо за ответ !

Vlad04: Как успехи?

Andrey: Vlad04 пишет: Как успехи? Да никто так и не ответил на мой вопрос. Поставил пока #include 'wvtwin.ch' и работает..... Но непонятки остались.... GTWVT -терминал хорош. Я под хХарбор программы делаю на нем.

PSP: Андрей, а что описано в файле wvtwin.ch, смотрел?

Andrey: PSP пишет: Андрей, а что описано в файле wvtwin.ch, смотрел? Смотрел. И ничего для себя не увидел... Ну не понимаю я различия. Как правильно пользоваться этим терминалом ? Название функций везде идет Wvt_ , значит нельзя использовать hb_gtInfo() или наоборот....

PSP: Посмотрел сейчас в исходниках xHarbour: функции Wvt_*() работают посредством вызова hb_GTInfo(). Так что, делай, как удобней. :)

Andrey: PSP спасибо БОЛЬШОЕ !!!

Andrey: Сделал тестовую программу для GTWVT терминала. Правда, еще не совсем до конца. Смотреть здесь. http://files.mail.ru/4TS92I Критика приветствуется....

Dima: Andrey пишет: Смотреть здесь Прикольно ;) Видать что то переделали в GTWVT , коли при сворачивании (разворачивании) экран задачи не портится. Ням. Исходник выложи глянуть. Можно и без функций которые на кнопках висят

Andrey: Dima пишет: Видать что то переделали в GTWVT , коли при сворачивании (разворачивании) экран задачи не портится. Что имеется ввиду ? Dima пишет: Исходник выложи глянуть. Можно и без функций которые на кнопках висят Тебе без вопросов. http://files.mail.ru/75G3FH Пытаюсь тут придумать, чтоб по умолчанию (если нет файла setfont.ini) на весь экран задача разворачивалась ... Т.е. нужно как то подсчитать FontSize & FontWidth для "Lucida Console" в зависимости разрешения экрана. Пока поставил Terminal - 18, 10

Dima: Andrey пишет: Т.е. нужно как то подсчитать FontSize & FontWidth для "Lucida Console" я примерно так делал , но думаю можно и улучшить. [pre2] hb_gtInfo(GTI_CODEPAGE, 255) hb_gtInfo(GTI_FONTNAME, 'Lucida Console') hb_gtInfo(HB_GTI_FONTQUALITY,3) nWidth := Wvt_GetScreenWidth() lnwidth:=1280/nwidth nHight := Wvt_GetScreenHeight() lnHight:=1024/nHight hb_gtInfo(GTI_FONTWIDTH, 16/lnwidth) hb_gtInfo(GTI_FONTSIZE, 38/lnHight) [/pre2] Можно еще вот это глянуть (FW) http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=17683

Andrey: Dima пишет: nWidth := Wvt_GetScreenWidth() lnwidth:=1280/nwidth nHight := Wvt_GetScreenHeight() lnHight:=1024/nHight hb_gtInfo(GTI_FONTWIDTH, 16/lnwidth) hb_gtInfo(GTI_FONTSIZE, 38/lnHight) А если разрешение экрана 1388 х 768 или 1600 х 900 это на ноутбуках. А на нетбуках 1024х600. Как тогда выкручиваться ?

Dima: Andrey пишет: Как тогда выкручиваться ? То о чем я писал "срабатывает" для всех разрешений с отношением сторон 1.25 и для 1.33 (лично проверял) А вообще нужно написать более продвинутую функцию по автоматическому подбору параметров шрифта.

Andrey: Всем привет ! Делаю уже давно для GTWVT-терминала меню выбора шрифтов. Так чтобы для пользователя было понятно. Пока есть такой вариант: Сейчас думаю, что это не совсем то.... В Win7 появился новый шрифт Consolas, нужно добавлять его в меню. Далее может нужно добавить еще 3 кнопки: "Увеличить размер шрифта" и "Уменьшить размер шрифта" и "Ручной выбор шрифта" ? А "Выбор шрифта" переименовать в "Ручной выбор шрифта" и закрыть на редактирование, пока не активизируешь кнопку "Ручной выбор шрифта" ? Хотелось бы услышать ваше мнение.... Заранее спасибо. Программа и исходник:http://files.mail.ru/7AITLM

Andrey: Как определить есть ли в системе WinXp шрифт Consolas ?

Sergey Spirin: Andrey пишет: Как определить есть ли в системе WinXp шрифт Consolas ? Поищи по исходникам слова: EnumFonts, EnumFontFamilies, EnumFontFamilies()... Наверняка кто-нибудь в HB_FUNC оборачивал.

Sergey Spirin: В win32pnr.prg есть обертка: [pre2]static int CALLBACK FontEnumCallBack(LOGFONT *lplf, TEXTMETRIC *lpntm, DWORD FontType, LPVOID pArray ) { HB_ITEM SubItems; SubItems.type = HB_IT_NIL; hb_arrayNew( &SubItems, 4 ); hb_arraySetC( &SubItems, 1, lplf->lfFaceName ); hb_arraySetL( &SubItems, 2, lplf->lfPitchAndFamily & FIXED_PITCH ); hb_arraySetL( &SubItems, 3, FontType && TRUETYPE_FONTTYPE ); hb_arraySetNL( &SubItems, 4, lpntm->tmCharSet ); hb_arrayAddForward( (PHB_ITEM) pArray, &SubItems); return(TRUE); } HB_FUNC_STATIC( ENUMFONTS ) { BOOL Result = FALSE ; HDC hDC = (HDC) hb_parnl(1) ; if (hDC) { HB_ITEM Array; Array.type = HB_IT_NIL; hb_arrayNew( &Array, 0 ); EnumFonts(hDC, (LPCTSTR) NULL, (FONTENUMPROC) FontEnumCallBack, (LPARAM) &Array); hb_itemReturnForward( &Array) ; Result = TRUE ; } if( !Result ) { hb_ret() ; } } [/pre2]

Andrey: Sergey Spirin пишет: В win32pnr.prg есть обертка: Я в этом пока совсем не разбираюсь .... А как вызвать эту функцию ? STATIC( "Consolas" ) - Я думаю не прокатит, т.к. слово STATIC зарезервировано для хХарбора и Харбора. И еще вопрос по шрифтам для терминалки GTWVT - Как узнать максимальный размер любого шрифта в зависимости от РАЗМЕРА ЭКРАНА ? Есть ли функция которая вернет это значение ? А то когда присваиваешь значение шрифта на экран - то ничего не происходит !!!

Sergey Spirin: Andrey пишет: Я в этом пока совсем не разбираюсь .... А как вызвать эту функцию ? EnumFonts(хэндл DC(графического контекста) окна/устройства для которого шрифты запрашиваются) Возвращает массив, каждый элемент это название и некоторые атрибуты ВСЕХ поддерживаемых для этого окна/устройства шрифтов. Далее в этом массиве уже и ищем "Consolas".

Andrey: Sergey Spirin пишет: Возвращает массив, каждый элемент это название и некоторые атрибуты ВСЕХ поддерживаемых для этого окна/устройства шрифтов. Далее в этом массиве уже и ищем "Consolas". Спасибо большое, получилось !

Andrey: Подправил меню выбора шрифтов. Получилось так: Кто покритикует или предложит более лучший вариант ?

Andrey: Помогите собрать библиотеку xHarbour\contrib\gtwvg Там почему-то нет make_b32.bat Взял с версии 1.0 - не собирает.... Выдает ошибку: MAKE Version 5.2 Copyright (c) 1987, 2000 Borland bcc32 -c -O2 -DWIN32 -I..\..\include -o..\..\obj\b32\wvtcore.obj wvtcore.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland wvtcore.c: Error F1013 wvtcore.c 3101: Error writing output file *** 1 errors in Compile *** ** error 1 ** deleting ..\..\obj\b32\wvtcore.obj

PSP: А папка существует, в которую компилятор пытается wvtcore.obj записать?

Andrey: PSP пишет: А папка существует, в которую компилятор пытается wvtcore.obj записать? Точно, не существует. Забыл сделать, как раньше делал. Создал. Компилируется. Но с ошибкой, т.к. make_b32.bat и makefile.bc с версии 1.0. Где взять файлы сборки для этой версии 1.2 ? Файл xharbour-1.2.1.src.contrib.zip качал с http://www.xharbour.org

Andrey: АУ, народ ? Кто знает как собрать терминал GTWVT для версии 1.2.1 ? Или кто поможет пределать сборку от 1.0 для 1.2.1 ??? Заранее спасибо.

PSP: Andrey пишет: Кто знает как собрать терминал GTWVT для версии 1.2.1 ? Чё-то не сходится c... Помогите собрать библиотеку xHarbour\contrib\gtwvg Или я торможу?

Andrey: PSP пишет: Чё-то не сходится c... В версии 1.0 терминал GTWVT был в папке \xHarbour\contrib\wvtgui В версии 1.2 поменяли название папки - \xHarbour\contrib\gtwvg и файлов сборки нет ВООБЩЕ !!! Также поменяли название доп.библиотеки wvtgui.lib на gtwvg.lib Вот я и пытаюсь понять как собрать эту библиотеку !!! Мне туда нужно внести изменения !!! Может у кого есть доступ к исходникам ?

Andrey: Dima пишет: То о чем я писал "срабатывает" для всех разрешений с отношением сторон 1.25 и для 1.33 (лично проверял) А вообще нужно написать более продвинутую функцию по автоматическому подбору параметров шрифта. Мучаюсь уже который день, никак не получается. Твой алгоритм "срабатывает" если Панель задач стандартная (1-строка) !!! А если 2-строки в панели задач ? Я такое часто встречаю. Как узнать размер Панели задач на хХарборе ???

Andrey: Сделал промежуточную версию настройки параметров терминала GTWVT ! Оказывается задание размера экрана - SetMode(25,80) НУЖНО СТАВИТЬ ПЕРЕД ЗАГРУЗКОЙ ШРИФТА !!! Программка здесь http://files.mail.ru/2WP2IL Кто попробует и покритикует ?

Dima: Andrey пишет: Кто попробует и покритикует ? F6 картинка , свернули окно и развернули и нет картинки (о монетках тру)

Andrey: Dima пишет: F6 картинка , свернули окно и развернули и нет картинки (о монетках тру) Я об этом знаю. Как исправить не знаю....

Andrey: Блин в Харборе уже лучше терминал GTWVT работает. \hb30\contrib\gtwvg\tests\demowvg.exe И даже многооконность есть... И Harbour - IDE тоже есть.... Придется переходить на него. Какие подводные камни перехода с хХарбора на Харбор есть ? Кто знает ?

AlexMyr: Andrey пишет: Какие подводные камни перехода с хХарбора на Харбор есть ? Кто знает ? Изучаем harbour\doc\xhb-diff.txt

Andrey: AlexMyr пишет: Изучаем harbour\doc\xhb-diff.txt Спасибо за "палцем тык" !

Andrey: Вопрос насчет GTWIN-терминала в Harbour 3.1.0dev (Rev. 17403). Делаю следующее: FUNCTION Main() ............. QUIT RETURN NIL *-----------------------------------------------------------------------------* INIT PROCEDURE Init() PUBLIC hHendlWindowsMain RETURN EXIT PROCEDURE Exit() ? M->hHendlWindowsMain wait " хочу посмотреть" RETURN Функция EXIT PROCEDURE Exit() после завершения программы отрабатывает, а если завершаешь программу по [x] - то нет ! Почему не отрабатывает [x] ?

Andrey: Подскажите как для терминала xHarbour 1.2.1 добавить вызов 3-х внешних функций ? Т.е. я хочу в сам терминал встроить настройку экрана: палитры, фонтов и размеров. Пере-собрать сам терминал и добавить свои функции, это я понимаю. А как быть с вызовами на С ? Я сам не сишник.... Нашел где это нужно вставить, а как дальше делать не знаю. Кто может помочь ? Папка :\xHarbour\contrib\gtwvg - файл gtwvg.c Строка 35 pWVT->pszSelectCopy = hb_strdup( "Mark and Copy" );

Andrey: Всем привет. Выношу на ваше обсуждение: GTWVT-терминал "Настройка палитры/шрифтов/размеров экрана" for xHarbour 1.2 ! Можно в диалоговом режиме задавать, рассчитано на пользователя. При первоначальном запуске (без файла конфига - ИмяФайлаЕхе.gtwvt) программа сама установит экран 80х25 на максимальный размер шрифта. Потом можно убавить размер шрифта и задавать разрешение экрана типа 110х33 и т.д. а потом подбирать размер шрифта. Пробуйте и используйте у себя. Для включения в свой проект нужно просто добавить 2 файла: setfont.prg и setpallet.PRG А из файла mainto.prg добавит ИНИЦИАЛИЗАЦИЮ gtwvt-терминала, со строки: INIT FUNCTION AppSetup() и до конца файла. Инициализация палитры/шрифтов/размеров экрана происходит через файл конфига - ИмяФайлаЕхе.gtwvt, если он есть. Вызов настроек в функции MAIN(). Он небольшой. Исправления и пожелания приветствуются. http://files.mail.ru/9SYDUR P.S. Как восстанавливать картинку (после того как окно сворачиваешь на панель задач) я так и не смог сделать !

Avf: Hi, Andrey! Хочу что-то похожее сделать в Harbour. Есть различия ( в Harbour по-моему нету IN и т.п.). При трансляции Вашего примера : Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland obj\setfont.c: Error E2451 SETFONT.PRG 827: Undefined symbol 'HB_ITEM' in function FontEnumCallBack Error E2379 SETFONT.PRG 827: Statement missing ; in function FontEnumCallBack Error E2451 SETFONT.PRG 829: Undefined symbol 'SubItems' in function FontEnumCallBack Error E2451 SETFONT.PRG 848: Undefined symbol 'HB_ITEM' in function HB_FUN_ENUMFONTS Error E2379 SETFONT.PRG 848: Statement missing ; in function HB_FUN_ENUMFONTS Error E2451 SETFONT.PRG 850: Undefined symbol 'Array' in function HB_FUN_ENUMFONTS *** 6 errors in Compile *** Не понимаю о чем речь,т.к. просто понадобилось перевести одну из задач Clipper в Console режим harbour и, мне показался интересным Ваш подход. Я не занимался (x)Harbour, только Minigui сразу и уже давно. Для сборки использую Mpm. Может быть что-то упустил.

Andrey: Avf пишет: При трансляции Вашего примера : Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland obj\setfont.c: Error E2451 SETFONT.PRG 827: Undefined symbol 'HB_ITEM' in function FontEnumCallBack Error E2379 SETFONT.PRG 827: Statement missing ; in function FontEnumCallBack Error E2451 SETFONT.PRG 829: Undefined symbol 'SubItems' in function FontEnumCallBack Error E2451 SETFONT.PRG 848: Undefined symbol 'HB_ITEM' in function HB_FUN_ENUMFONTS Error E2379 SETFONT.PRG 848: Statement missing ; in function HB_FUN_ENUMFONTS Error E2451 SETFONT.PRG 850: Undefined symbol 'Array' in function HB_FUN_ENUMFONTS *** 6 errors in Compile *** Я тоже не знаю как эту функцию на С переделать под Харбор. Нужно просить наших ГУРУ на форуме, чтобы помогли... Я думаю очень многим понравиться (кто работает с терминалками) встроенная возможность переключения шрифтов в своей задаче. Может быть нужно и отправить этот пример в contrib на Харбор/хХарбор. Исходник здесь. http://files.mail.ru/8UFH3H

alkresin: С этой функцией проблем нет, надо сделать так: static int CALLBACK FontEnumCallBack(LOGFONT *lplf, TEXTMETRIC *lpntm, DWORD FontType, LPVOID pArray ) { PHB_ITEM pSubItems = hb_itemNew(NULL); hb_arrayNew( pSubItems, 4 ); hb_arraySetC( pSubItems, 1, lplf->lfFaceName ); hb_arraySetL( pSubItems, 2, lplf->lfPitchAndFamily & FIXED_PITCH ); hb_arraySetL( pSubItems, 3, FontType && TRUETYPE_FONTTYPE ); hb_arraySetNL( pSubItems, 4, lpntm->tmCharSet ); hb_arrayAddForward( (PHB_ITEM) pArray, pSubItems); hb_itemRelease( pSubItems ); return(TRUE); } HB_FUNC_STATIC( ENUMFONTS ) { BOOL Result = FALSE ; HDC hDC = (HDC) hb_parnl(1) ; if (hDC) { PHB_ITEM pArray = hb_itemNew(NULL); hb_arrayNew( pArray, 0 ); EnumFonts(hDC, (LPCTSTR) NULL, (FONTENUMPROC) FontEnumCallBack, (LPARAM) pArray); hb_itemReturnForward( pArray) ; hb_itemRelease( pArray ); Result = TRUE ; } if( !Result ) { hb_ret() ; } } А вот дальше там набор неразрешенных ссылок - функции, которые в Harbour по другому называются. Чтобы разрешить WVT_... надо прилинковать gtwvg, с остальными надо разбираться. Может, будет работать.

Andrey: Avf пишет: Хочу что-то похожее сделать в Harbour. Результатом поделись...

Avf: Под Harbour пример выдает ошибку выполнения Exception Code:C0000005 на WVT_GETFONTINFO. http://files.mail.ru/VI20QX

Andrey: Будет выдавать ошибку. Я переделал ряд функций, до конца сделать не успел. Остались функции записи в ини-файл: Error: Unresolved external '_HB_FUN_HASH' Error: Unresolved external '_HB_FUN_HB_READINI' Error: Unresolved external '_HB_FUN_HB_WRITEINI' Нужно эти функции переписать с хХарбора на Харбор. Смотри пример \hb31\tests\parseini.prg Мой исправленный исходник для Харбора здесь. http://files.mail.ru/04YV06 Я пошел спать...

alkresin: Error: Unresolved external '_HB_FUN_HASH' Error: Unresolved external '_HB_FUN_HB_READINI' Error: Unresolved external '_HB_FUN_HB_WRITEINI' hash => hb_hash hb_readini => hb_iniRead hb_writeini => hb_iniWrite

Andrey: Собрал на Харборе 3.0 Не запускается, в логе hb_out.log пишет: Application Internal Error - G:\GTWVT-ChoiceFont-Harbour\gtwvt-ChoiceFont-Harbour.exe Terminated at: 2012.12.21 11:00:37 Unrecoverable error 10001: It's not a GUI program Я не знаю как дальше делать. На Харборе собирал только примеры. Исходник и файл сборки (может неправильно сделал) здесь. http://files.mail.ru/2JICZA

alkresin: Создайте еще файл gtwvt-choiceFont.hbc с одной строчкой: gui=yes - и программа будет запускаться, только не спрашивайте, почему :). Я в этих hbc, hbm и пр. не разбирался и пока не собираюсь, решение это нашел в contribs/gtwvg/tests.

alkresin: И еще, я увидел что вы заменили xHarbor'овский IN на вызов Ascan() - это неправильно. Ascan() не работает с хэш-массивами. IN надо заменить на $: IF ( cSection $ aIni )

Andrey: Нет, не работает... Собирается нормально.... Harbour 3.0.0 (Rev. 16951) 12:31 Copyright (c) 1999-2011, http://harbour-project.org/ Compiling 'mainto-Harb.prg'... Lines 3451, Functions/Procedures 6 Generating C source output to 'OBJ\mainto-Harb.c'... Done. Compiling 'setfont.prg'... Lines 1479, Functions/Procedures 14 Generating C source output to 'OBJ\setfont.c'... Done. Compiling 'setpallet.PRG'... Lines 865, Functions/Procedures 16 Generating C source output to 'OBJ\setpallet.c'... Done. hbmk2: Compiling resources... Borland Resource Compiler Version 5.40 Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved. hbmk2: Compiling... OBJ\mainto-Harb.c: OBJ\setfont.c: Warning W8004 setfont.prg 872: 'Result' is assigned a value that is never used in function HB_FUN_CREATE1DC OBJ\setpallet.c: OBJ\_hbmkaut_mainto-Harb.c: hbmk2: Linking... gtwvt-ChoiceFont-Harbour.exe Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland А ошибка та же: Application Internal Error - G:\GTWVT-ChoiceFont-Harbour\gtwvt-ChoiceFont-Harbour.exe Terminated at: 2012.12.21 12:32:54 Unrecoverable error 10001: It's not a GUI program Все таки с хХарбором легче работать.... Народ, кто работает на Харборе, дайте пожалуйста рабочий GTWVT-терминал ! Заранее спасибо !

alkresin: Ваш протокол сборки ни о чем не говорит, надо hbmk2 с ключом -trace запускать, тогда видно, с какими параметрами компилятор и линкер запускались. Можете воспользоваться bat'ником: @set HB_INSTALL=c:\harbour %HB_INSTALL%\bin\harbour mainto-Harb.prg SETFONT.PRG setpallet.PRG -n -i%HB_INSTALL%\include -i%HB_INSTALL%\contrib\gtwvg bcc32 -O2 -tW -I%HB_INSTALL%\include -L%HB_INSTALL%\lib\win\bcc hbdebug.lib hbvm.lib hbrtl.lib gtwvg.lib gtwvt.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbcommon.lib hbcpage.lib hbpcre.lib hbwin.lib hbct.lib mainto-Harb.c SETFONT.c setpallet.c del *.c del *.obj del *.tds И в mainto-Harb.prg надо вставить ANNOUNCE HB_GTSYS, чтобы gtwin не требовало. У меня все работает.

Andrey: alkresin пишет: надо hbmk2 с ключом -trace запускать :\HB31\include "OBJ\mainto-Harb.c" OBJ\setfont.c OBJ\setpallet.c "OBJ\_hbmkaut_mainto15:14 .c" OBJ\mainto-Harb.c: OBJ\setfont.c: Warning W8004 setfont.prg 872: 'Result' is assigned a value that is never used in function HB_FUN_CREATE1DC OBJ\setpallet.c: OBJ\_hbmkaut_mainto-Harb.c: hbmk2: Linking... gtwvt-ChoiceFont-Harbour.exe hbmk2: Linker command: ilink32.exe @C:\Users\Andrey\AppData\Local\Temp\xwf2bj.lnk hbmk2: Linker script: -Gn -Tpe -LZ:\BCC55\Lib;Z:\BCC55\Lib\PSDK;z:\HB31\lib\win\bcc;z:\HB31\bin;Z:\hb31\lib\win\ bcc -ap c0x32.obj "OBJ\mainto-Harb.obj" OBJ\setfont.obj OBJ\setpallet.obj "OBJ\_hbmkaut_m ainto-Harb.obj", "gtwvt-ChoiceFont-Harbour.exe", nul, gtwvg.lib Z:\hb31\lib\win\bcc\hbct.l ib hbextern.lib hbdebug.lib hbvmmt.lib hbrtl.lib hblang.lib hbcpage.lib gtcgi.lib gtpca.li b gtstd.lib gtwin.lib gtwvt.lib gtgui.lib hbrdd.lib hbuddall.lib hbusrrdd.lib rddntx.lib r ddcdx.lib rddnsx.lib rddfpt.lib hbrdd.lib hbhsx.lib hbsix.lib hbmacro.lib hbcplr.lib hbpp. lib hbcommon.lib kernel32.lib user32.lib gdi32.lib advapi32.lib ws2_32.lib winspool.lib co mctl32.lib comdlg32.lib shell32.lib uuid.lib ole32.lib oleaut32.lib mpr.lib winmm.lib mapi 32.lib imm32.lib msimg32.lib wininet.lib hbpcre.lib hbzlib.lib cw32mt.lib import32.lib, , "OBJ\gtwvt-choice.res" Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Ни фига не понятно.... В хХарборе намного все проще ! Видать переход на Харбор будет ОЧЕЕЕНЬ сложным.... У меня тоже почти заработало (правда менюшки не работают вообще )... Первый запуск программы на весь экран : Второй запуск - одни кракозябы: Радует только одно - картинка на форме, после сворачивания не пропадает !

Dima: Andrey пишет: Радует только одно - картинка на форме, после сворачивания не пропадает а вот с этого места поподробнее пожалуйста ;) тестовый не большой пример выложи сюда.

Andrey: Вот пример. http://files.mail.ru/SFCN9A Бат-ник собирает рабочий пример. gtwvt-choiceFont.hbp - не собирает....

Dima: Andrey Взял готовый EXE. При сворачивании картинка на месте а вот если окно подвигать туда сюда , картинка исчезает.

Andrey: Dima пишет: если окно подвигать туда сюда , картинка исчезает. Да у меня то же самое ! Так как все таки заставить собираться через gtwvt-choiceFont.hbp ?

AlexMyr: Andrey пишет: Так как все таки заставить собираться через gtwvt-choiceFont.hbp ? пробуй, у меня собирает, путь свой только поставь [pre2]-iC:\dev\harbour\contrib\gtwvg hbct.hbc hbwin.hbc # Включить multi/single-thread Harbour VM -mt -inc -gtwvg #-gtwvt # Имя EXE-модуля -ogtwvt-ChoiceFont-Harbour.exe # перечисляем все *.prg mainto-Harb.prg setfont.prg setpallet.PRG # Ресурсы gtwvt-choice.rc[/pre2]

Andrey: AlexMyr пишет: пробуй, у меня собирает, путь свой только поставь Спасибо БОЛЬШОЕ ! Теперь хоть есть чем собирать подобные задачи.... Но вот что интересно, при первом запуске (без файла ИмяЕхеФайла.gtwvt ) на экране четвертинка (прорисована) программы всего, смотреть выше. Видать порядок загрузки шрифтов и всего остального для Харбора нужно менять. Avf пишет: Hi, Andrey! Хочу что-то похожее сделать в Harbour. Придется Вам допиливать... Будут вопросы обращайтесь.

nick_mi: У меня с исправленной головной прграммой (http://files.mail.ru/L5AIZA) и таким hbp #-trace # Включить multi/single-thread Harbour VM -mt -inc -gtwvt -gtwvg -workdir=OBJ # Имя EXE-модуля -ogtwvt-ChoiceFont-Harbour.exe # перечисляем все *.prg mainto-Harb.prg setfont.prg setpallet.PRG # Ресурсы gtwvt-choice.rc # Пути к основным и добавочным *.lib -lhbct.lib нормально собирается и работает, причем отображение нормальное ASCII По поводу графической картинки. У меня на компьтере любое телодвижение по заголовку окна мышкой возвращает по INKEY() код 1016. Поэтому можно перерисовать экран вручную, муторно конечно, но можно Для перехватов по READ можно воспользоваться конструкцией set key 1016 to fun1016

Andrey: nick_mi пишет: но можно Для перехватов по READ можно воспользоваться конструкцией Доделай пожалуйста пример и выложи здесь. Всем будет интересно !

nick_mi: Перерисовка графической картинки для WVT терминала click here

Andrey: В трех соснах запутался.... Как различить хХарбор 1.0 от других 1.2.1, 1.2.3 и т.д. Сплошные засады при переходе на старшие версии...

Andrey: Как в программе узнать НОМЕР версии [х]Харбора. Функция VERSION() возвращает: xHarbour Compiler build 1.0.0 (SimpLex) или xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406) А как мне сокращение сделать ? IIF(nVerHarb, 1.2, .... Иди может другая функция для версии есть ?

santy: #include "hbver.ch" Function main() ? "Compiler:", HB_BuildInfo( _HB_VER_AS_STRING ) ? ? "Operating System:", HB_BuildInfo( _HB_VER_PLATFORM ) ? ? "Complete version as character string: ", HB_BuildInfo( _HB_VER_AS_STRING ) ? ? "Major version number : ", HB_BuildInfo( _HB_VER_MAJOR ) ? ? "Major version number : ", HB_BuildInfo( _HB_VER_MINOR ) ? ? "Revision number : ", HB_BuildInfo( _HB_VER_REVISION ) ? ? "Last entry in CVS ChangeLog file : ", HB_BuildInfo( _HB_VER_LENTRY ) ? ? "Revision of last entry in CVS : ", HB_BuildInfo( _HB_VER_CHLCVS ) ? Return Nil

Andrey: santy пишет: #include "hbver.ch" Спасибо БОЛЬШОЕ !!!

doc103: можно ли выложить программу с исходниками по настройке шрифтов

Andrey: doc103 пишет: можно ли выложить программу с исходниками по настройке шрифтов Можно. http://files.mail.ru/D8ACEA8B3FA94411805000CEA2AFF6C9 GTWVT-терминал "Настройка палитры/шрифтов/размеров экрана" for xHarbour 1.2 ! Можно в диалоговом режиме задавать параметры, рассчитано на пользователя. При первоначальном запуске (без файла конфига - ИмяФайлаЕхе.gtwvt) программа сама установит экран 80х25 на максимальный размер шрифта. Потом можно убавить размер шрифта и задавать разрешение экрана типа 110х33 и т.д. а потом подбирать размер шрифта. Пробуйте и используйте у себя. Для включения в свой проект нужно просто добавить 2 файла: setfont.prg и setpallet.PRG А из файла mainto.prg добавит ИНИЦИАЛИЗАЦИЮ gtwvt-терминала, со строки: INIT FUNCTION AppSetup() и до конца файла. Инициализация палитры/шрифтов/размеров экрана происходит через файл конфига - ИмяФайлаЕхе.gtwvt, если он есть. Вызов настроек в функции MAIN(). Он небольшой. Исправления и пожелания приветствуются.



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