Форум » [x]Harbour » Harbour Version 3.0.0 (2011-07-17) » Ответить

Harbour Version 3.0.0 (2011-07-17)

AlexMyr: Новый релиз Harbour 2011-07-17 14:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * NEWS * set date of stable release 2011-07-17 15:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * trunk version bump. 2.1.0rc2 -> 3.1.0dev и смена лидера проекта, Viktor передал лидерство Przemek. Удачи ему

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

Andrey: В версии 3.0 в папке BIN появился HBID - хорошая вещь, давно ждал. Только не могу заставить собираться проекты из примеров. Выдает такую фигню: CurDir() => hb30\bin Starting in => Z:\hb30\tests\ Z:\hb30\tests>hbmk2 -q -trace -info -lang=en -width=0 -rebuild -hbexe Z:\hb30\tests\wvtext.prg "hbmk2" ¡Ñ ∩ó½∩ÑΓß∩ ó¡πΓαÑ¡¡Ñ⌐ ¿½¿ ó¡ÑΦ¡Ñ⌐ ¬«¼á¡ñ«⌐, ¿ß»«½¡∩Ѽ«⌐ »α«úαá¼¼«⌐ ¿½¿ »á¬ÑΓ¡δ¼ Σá⌐½«¼. ---------------------------------------------------------------------------------------------------- Exit Code [ 1 ] Exit Status [ 0 ] Finished at [ 22:52:42 ] Done in [ 0.13 Secs ] ---------------------------------------------------------------------------------------------------- Detected executable => Z:\hb30\tests\ Sorry, cannot launch project because of errors... Кто сталкивался с таким и как побороть это ?

vvv: "hbmk2" ¡Ñ ∩ó½∩ÑΓß∩ ó¡πΓαÑ¡¡Ñ⌐ ¿½¿ ó¡ÑΦ¡Ñ⌐ ¬«¼á¡ñ«⌐, ¿ß»«½¡∩Ѽ«⌐ »α«úαá¼¼«⌐ ¿½¿ »á¬ÑΓ¡δ¼ Σá⌐½«¼. <"hbmk2" не является внутренней или внешней командой, исполняемой программой или пакетным файлом>. Может, это поможет? PS. (см. А.Конан-Дойль "Пляшущие человечки")

PSP: Попробовал в этой версии HBIDE создать проект. Или я на асфальте в лыжах или... Не смог добавить prg в проект, Environments пустые... Кто подскажет? Это у меня лыжи не едут или у всех так? :)


Andrey: vvv пишет: PS. (см. А.Конан-Дойль "Пляшущие человечки") Спасибо за подсказку, обязательно его перечитаю. PSP пишет: Кто подскажет? Это у меня лыжи не едут или у всех так? :) У меня тоже самое....

vvv: Не в обиду, просто я эту запись расшифровал, вспомнив рассказ.

Andrey: vvv пишет: Не в обиду, просто я эту запись расшифровал, Да никто не обижается... Просто очень здорово, что здесь знающие и читающие люди собрались. А расшифровкой вручную занимался или програмку написал ?

PSP: Andrey пишет: А расшифровкой вручную занимался или програмку написал ? В HBIDE в меню Setup выбираешь Codepage и не нужно ничего расшифровывать.

vvv: А расшифровкой вручную занимался или програмку написал ? Наполовину догадался, сталкивался с такой бякой. Вроде это бывает, когда система не может найти путь (или не понимает, если в пути присутствует кириллица).

AlexMyr: Andrey пишет: В версии 3.0 в папке BIN появился HBID - хорошая вещь, давно ждал. Ребят, как-то к harbour мало относится, давайте в новую тему переносите

PSP: vvv пишет: Вроде это бывает, когда система не может найти путь (или не понимает, если в пути присутствует кириллица). В настройках нужно указать путь к hbmk2 и всё.

Pasha: Настоятельно рекомендуется обновить сабж. Выложен важный патч.

Pasha: Сами мы не местные, win98 под рукой нет :( Подскажите, как сабж работает под win98 ? А то вот читаю в comp.lang.clipper: my program compiled with hb 3.0 freezes at the beginning when running under win 98 3.1 the same. Any suggestions? Там какой-то канадец за 70 ихних баксов предлагает комп с xp sp2 покупать. Но меня такой вариант, думаю, не устроит. Вдруг на какой-то машине моя программа не пойдет Кто-нибудь пробовал ?

gfilatov2002: Pasha пишет: Подскажите, как сабж работает под win98 ? Паша, У меня на основной машине, на которой обкатывается минигуи, установлен Win98SE. Поэтому все сборки библиотеки комплектуются Харбором, который гарантировано работает под этой системой Но, конечно, приходится пошаманить при сборке Харбора под win98, поскольку без маленькой корректировки утилита hbmk2 под этой осью выдает ошибку.

Pasha: gfilatov2002 пишет: Паша, У меня на основной машине, на которой обкатывается минигуи, установлен Win98SE. Поэтому все сборки библиотеки комплектуются Харбором, который гарантировано работает под этой системой Но, конечно, приходится пошаманить при сборке Харбора под win98, поскольку без маленькой корректировки утилита hbmk2 под этой осью выдает ошибку. Спасибо за хорошую новость, Григорий. А если я не буду собирать харбор под win98, то без шаманства можно обойтись ? Я имею в виду, что программы, собранные под winxp/win7, пойдут ли на win98 ?

gfilatov2002: Pasha пишет: программы, собранные под winxp/win7, пойдут ли на win98 ? Это зависит от того, где был собран Харбор для этих программ. Если под winxp/win7, то для работы на win98 потребуется дополнительно unicows.dll Поэтому рекомендую использовать сборку Харбора из поставки минигуи, которая имеет гарантированную поддержку win98 без дополнительных заморочек

Pasha: gfilatov2002 пишет: Поэтому рекомендую использовать сборку Харбора из поставки минигуи, которая имеет гарантированную поддержку win98 без дополнительных заморочек Использовать стороннюю сборку я не могу, поскольку сам грешен, балуюсь шаманством. А два шаманства рядом не живут. Нужна их конкатенация :) А какое шаманство используется в сборке в поставке minigui ? ЗЫ мое шаманство очень простое: я в inkey.ch заменил коды для K_CTRL_A - K_CTRL_Z. Пшемек говорил, что хочет сделать поддержку таких кодов изящным способом, но когда он ее сделает - неизвестно, а коды мне нужны сейчас. Вот и пришлось доставать бубен. Ну и еще для сборки dll приходится шаманить. Виктор меня как-то отшил, а рабочая dll то нужна..

gfilatov2002: Pasha пишет: какое шаманство используется в сборке в поставке minigui ? Это документировано в файле readme.txt из поставки минигуи (в папке minigui\harbour): Extra Harbour compiler options: -gc0 Extra C compiler options: -DHB_GC_AUTO -DHB_GUI Также собирается WINANSI (а не UNICODE) версия Харбора, которая автоматически устанавливается при сборке Харбора под Win98. В исходниках утилиты hbmk2 задается явное создание map-файлов (в оригинале установлен nul). Вот и все изменения

Pasha: Спасибо за разьяснение Насколько я понял, под win98 есть проблема с unicode-сборкой. Значит, буду шаманить с unicows.dll. Две разные сборки я не могу себе позволить использовать.

AlexMyr: При компиляции на 98 появилась ошибка undefined reference to `__chkstk_ms', про которую написал в dev list. Виктор ответил, что 98 нужно забыть как платформу для разработчика, а прогри собирать с -lunicows на xp, что раньше я и делал, но потом обламался бегать проверять прогу на 98 и решил там установить harbour и там работать. Так что снова переползаю на xp.

Pasha: Григорий, тогда выходит, что и для поставки minigui Harbour уже не получится собрать под win98

AlexMyr: Еще хотел сказать, что harbour для 98 собирал на xp следующим батником: set HB_INSTALL_PREFIX=c:\dev\harbour9x\ set __HB_BUILD_WINUNI=unicows SET HB_BUILD_DYN=no win-make clean install %1 %2 > log9x.txt 2>&1 на самой 98 собирать не пробовал.

gfilatov2002: Pasha пишет: выходит, что и для поставки minigui Harbour уже не получится собрать под win98 Собираю Харбор для минигуи с помощью BСС исключительно под win98 несколько раз в неделю Полет нормальный!

AlexMyr: Оказалось все проще, harbour для win98 компилировал gcc version 4.6.1 (tdm-1), а на 98 собирал проги gcc version 3.4.5. После того, как поставил gcc version 4.6.1 (tdm-1) на 98 все заработало и AlexMyr пишет: При компиляции на 98 появилась ошибка undefined reference to `__chkstk_ms', ошибки больше нет.

Pasha: Сравниваю сборку одной и той же моей программы: 1. xHarbour + bcc55 2. Harbour 3.0 + mingw-tdm 4.6.1 При том, что размер exe + dll для Harbour-программы получается примерно в 2 раза больше, чем для xHarbour, памяти Harbour-программа использует примерно в 1.6-1.8 раза меньше, чем xHarbour-программа (согласно диспетчеру задач). Такой вот приятный парадокс.

Pasha: AlexMyr пишет: Еще хотел сказать, что harbour для 98 собирал на xp следующим батником: set HB_INSTALL_PREFIX=c:\dev\harbour9x\ set __HB_BUILD_WINUNI=unicows SET HB_BUILD_DYN=no win-make clean install %1 %2 > log9x.txt 2>&1 С bcc55 сборка проходит успешно С mingw - сборка доходит до harbour-30.dll, а затем возникают ошибки: Cannot export XXX: symbol not found и так далее где XXX - это уникодные версии винапишных функций. libunicows.a бросил в mingw\lib Это у меня одного так ?

AlexMyr: Я dll не собираю SET HB_BUILD_DYN=no завтра на работе проверю без этой опции.

AlexMyr: Проверил, получил те же ошибки: ... Cannot export UnregisterClassW: symbol not found Cannot export WideCharToMultiByte: symbol not found Cannot export WriteConsoleOutputW: symbol not found collect2: ld returned 1 exit status win-make[3]: *** [harbour-31.dll] Error 1 win-make[2]: *** [descend] Error 2 win-make[1]: *** [dynlib.inst] Error 2 win-make: *** [src.inst] Error 2

Pasha: В конце концов, что я добился с win98. Сборка с bcc с параметром set __HB_BUILD_WINUNI=unicows проходит успешно, и программы также работают под win98, и gtwin, и gtwvt. С gtwvt есть такая особенность: нельзя использовать некоторые функции WVG_*, так как они используют виапишные вызовы, которых нет в win98 Сборка с mingw не работает: не собирается dll Но, если самому сделать библиотеку unicows.a командой: dlltool.exe --dllname unicows.dll --output-lib unicows.a то сборка в конце концов получается. Правда, unicows.a при этом получается очень маленькой: 1.5k, так что есть сомнения в правильности сборки. Программы, собранные этим харбором, использующие harbour*.dll, под win98 не работают. С терминалом gtwin они молча виснут, с gtwvt - тоже виснут, но создается лог с ошибкой: невозможно зарегистрировать класс gtwvt Гуевая программа запускается, но на первом же use выдает странную ошибку: ошибка чтения dbfcdx Вывод получается неутешительный: сборку с mingw под win98 использовать нельзя.

gfilatov2002: Pasha пишет: Гуевая программа запускается, но на первом же use выдает странную ошибку: ошибка чтения dbfcdx Вывод получается неутешительный: сборку с mingw под win98 использовать нельзя. У меня была такая же ошибка при использовании mingw под win98 Pasha пишет: Сборка с bcc с параметром set __HB_BUILD_WINUNI=unicows проходит успешно, и программы также работают под win98 Кроме того, я обратил внимание что функция HB_DISKSPACE() при использовании подобной сборки всегда возвращает 0 (ноль) под win98. Если же я использую сборку Харбора, выполненную непосредственно под win98, то эта функция работает корректно и под win98, и под старшими версиями Windows

gfilatov2002: gfilatov2002 пишет: У меня была такая же ошибка при использовании mingw под win98 Важное уточнение: после добавления в скрипт hbmk2 библиотеки unicows.lib приложение стало работать нормально с базами

Pasha: gfilatov2002 пишет: Важное уточнение: после добавления в скрипт hbmk2 библиотеки unicows.lib приложение стало работать нормально с базами Наверное, в режиме static так и есть. А мне нужно shared (с dll). А в этом режиме harbour-30.dll с -lunicows не собирается. А -lunicows добавлялся для сборки харбора или сборки программы ?

gfilatov2002: Pasha пишет: А -lunicows добавлялся для сборки харбора или сборки программы ? Этот ключ был добавлен в батник для сборки программы, а Харбор я использовал безо всяких изменений из поставки harbour nightly

Andrey: Pasha пишет: Вывод получается неутешительный: сборку с mingw под win98 использовать нельзя. А эти друзья BARS Group (bars@bars-open.ru) пишут, что будет работать .... Из их документации: Поддерживаемые платформы: • Linux; • Mac OS; • MS Windows (‘95 и выше). Для любой платформы требуется наличие следующих компонент: • MinGW; • Исходные коды Harbour; • QT SDK; • Patch для Harbour; • Исходный код ПК БАРС Бюджет. Для компиляции ПК БАРС-Бюджет из исходных кодов необходимо: • Скачать исходные коды и необходимые компоненты; • Скомпилировать Harbour (предварительно установив MinGW и QT SDK, и применив patch для Harbour); • Скомпилировать ПК БАРС Бюджет.

AlexMyr: Я собираю harbour на win xp потом копирую на win 98 и там нормально собираю свои проги, используя mingw 4.6.2 и harbour rev. 17592

Pasha: Собрал наконец-то свои программы с harbour 3.2.0dev win98 ок во всех режимах: bcc/mingw, gtwin/gtwvt/gui Собираю с ключем set HB_BUILD_CONTRIB_DYN=yes В этом случае некоторые библиотеки из contrib собираются также и как dll. Я использую в режиме dll hbwin, hbct и hbmzip Саму сборку выполняю на win7 64, но это без разницы, где собирать.

Andrey: Pasha пишет: Собрал наконец-то свои программы с harbour 3.2.0dev win98 ок во всех режимах: bcc/mingw, gtwin/gtwvt/gui Что за терминал gui ? Пояснить можно ? Pasha пишет: Саму сборку выполняю на win7 64, но это без разницы, где собирать. А файлы сборки можно посмотреть ?

Pasha: Andrey пишет: Что за терминал gui ? Пояснить можно ? Я не говорил про терминал. Имеется в виду gui-библиотека. А файлы сборки можно посмотреть ? Это обычные файлы *.hbp для hbmk2. Они примерно такие, как к примеру подобные *.hbp в letodb, только набор модулей и библиотек другой. Или как в dbedit, который я выкладываю с файлами сборки. Там все проще пареной репы. Остальные мои скрипты примерно такие же. Смысла их закидывать сюда я не вижу, как и не вижу смысла в бессмыссленном хотении примеров. Чем постоянно просить примеры, лучше просто изучить инструкцию и что-то сделать самому, тем более что сборка с помощью hbmk2 - довольно тривиальная вещь.

AlexMyr: Вчера Александр засветился в Harbour 2012-10-15 16:20 UTC+0300 Alexander Kresin <alex at belacy.belgorod.su> может быть и здесь появится, давно уж не было

subbota: В чем заключается отличие сборки Harbour c WINANSI от сборки с UNICODE ? Можно ли из одних и тех же исходников взятых с сайта разработчиков собрать по желанию Harbour c WINANSI или с UNICODE ?

Pasha: Релиз Harbour 3.0 может быть собран как для UNICODE, так и для WINANSI, исходники одни и те же. Отличие юникодной сборки в том, что используются соответствующие юникодные функции winapi С марта этого года (для 3.2.dev) поддерживается только юникодная сборка харбора для windows.

subbota: Pasha пишет: "Релиз Harbour 3.0 может быть собран как для UNICODE, так и для WINANSI, исходники одни и те же. Отличие юникодной сборки в том, что используются соответствующие юникодные функции winapi С марта этого года (для 3.2.dev) поддерживается только юникодная сборка харбора для windows." ---- Нужно ли понимать это так, что сейчас и в будующем из harbour-nightly-src.zip сборка для WINANSI не предполагается и не получится ? Если так то, получается что с версии 3.2 Harbour больше не ориентируется на 100 % совместимость с Clipper и не стоит ожидать, что в нем будет во всех старых функциях вывода поддерживаться кодовая страница RU866 В частности сейчас в консольной версии программы, скомпилированной Harbour версии 2 ... 3.0 или 3.1 ( у меня конкретно 3.1 Rev. 16991 ), функции screenmix() и sayscreen() из hbct.lib при выводе на экран текста на русском работают правильно, а если компилировать Harbour 3.2 Rev. 17604 и выше -то выводят абракадабру. Вот кусок текста для проверки ( написан с использованием шрифта "Terminal" ): ... REQUEST HB_CODEPAGE_RU866 ... Function Main Clear screen @ 1, 0 say 'Plese, set font "Terminal" or "Lucida Console"' @ 4,0 say "Default codepage - " + hb_setcodepage() hb_SetCodepage( "RU866" ) @ 6,0 say "Installed codepage - " + hb_setcodepage() *--- private bbb := 'ќв®в ⥪бв ўлў®¤Ёвбп Їа ўЁ«м-®' // by russian, font "Terminal" @ 10,0 SAY bbb + " Out by @ y,x Say" sayscreen( bbb + " Out by sayscreen()", 11, 0 ) screenmix( bbb + " Out by screenmix()",chr(07), 12, 0 ) inkey(0) return NIL

AlexMyr: subbota пишет: Если так то, получается что с версии 3.2 Harbour больше не ориентируется на 100 % совместимость с Clipper и не стоит ожидать, что в нем будет во всех старых функциях вывода поддерживаться кодовая страница RU866 никто не убирал поддержку RU866. Вот пример, (файл в dos кодировке), все выводит нормально, т.е. надо указать hb_SetTermCP( cTermCP, cHostCP, lBoxChar ), проверял на Harbour 3.2.0dev (Rev. 18631) #include "hbextcdp.ch" FUNC Main() LOCAL c_1 := "деякий текст" LOCAL cHostCP := "UA866" LOCAL cTermCP := "UA1251" LOCAL lBoxChar := .T. cls hb_SetTermCP( cTermCP, cHostCP, lBoxChar ) ?hb_Version() ?c_1 RETURN NIL

Pasha: Нет, именно эти функции ct не преобразуют текст при выводе. Я уже направил предложения группе товарищей для исправления данной ситуации.

subbota: subbota пишет: В частности сейчас в консольной версии программы, скомпилированной Harbour версии 2 ... 3.0 или 3.1 ( у меня конкретно 3.1 Rev. 16991 ), функции screenmix() и sayscreen() из hbct.lib при выводе на экран текста на русском работают правильно, а если компилировать Harbour 3.2 Rev. 17604 и выше -то выводят абракадабру. Pasha пишет: Нет, именно эти функции ct не преобразуют текст при выводе. Я уже направил предложения группе товарищей для исправления данной ситуации. Спасибо ! Осталось дождаться решения.

Pasha: Скинул обновление на SVN, теперь должно быть все в порядке

subbota: Проверил на Rev.18666 функции screenmix() и sayscreen() работают правильно. Спасибо

Andrey: Скажите, почему нет во всех папках \hb30\contrib исходников или примеров в harbour-3.0.0-win.exe ? Смотрел и в HB31 и HB32 (за вчерашнее число). В частности интересует HB32\contrib\hbformat gfilatov2002 пишет: В папке harbour\contrib\hbformat на сайте Харбор SVN Как я понял, что нужно качать с SVN. Но это же неправильно. Готовая сборка должна полностью включать все исходники, как в хХарборе ! Или я не прав ? Объясните пожалуйста политику размещения примеров и библиотек в Харборе.

Andrey: Cкачал с SVN сегодня. Пытаюсь создать утилиту, не получается. Что делаю неправильно ? Z:\hb30\contrib\hbformat\utils>z:\HB30\BIN\hbmk2.exe hbformat.hbp hbmk2: Compiling Harbour sources... Harbour 3.0.0 (Rev. 16951) Copyright (c) 1999-2011, http://harbour-project.org/ Compiling 'hbformat.prg'... hbformat.prg(53) Error F0032 Invalid name follows # hbmk2: Error: Running Harbour compiler (embedded). 1 (z:\HB30\BIN\harbour.exe) -n2 hbformat.prg -w3 -es2 -l -o.hbmk\win\bcc\ -iZ:\BCC55\Include -iz:\HB30\include -undef:.ARCH. -D__PLATFORM__WINDOWS -D__LITTLE_ENDIAN__ -D__ARCH32BIT__ Строка 53: #require "hbformat" Что за оператор ?

Pasha: Andrey пишет: Cкачал с SVN сегодня. Пытаюсь создать утилиту, не получается. Что делаю неправильно ? hbformat c SVN надо собирать харбором с SVN, а для Harbour 3.0 надо использовать hbformat от нее. ветвь SVN для Harbour 3.0 находится по адресу: https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/branches/harbour-3.0

Andrey: Pasha пишет: а для Harbour 3.0 надо использовать hbformat от нее. ветвь SVN для Harbour 3.0 находится по адресу: Спасибо БОЛЬШОЕ, получилось !



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