Об этом здесь неоднократно писалось
A. Как выкачать последние сырцы харбора с CVS ?
Q. Прежде всего надо установить какого-нибудь CVS-клиента,
например Tortoise CVS - с сайта www.tortoisecvs.org.
Один из последних стабильных релизов - 1.8.31 - можно
загрузить по адресу:
http://prdownloads.sourceforge.net/tortoisecvs/TortoiseCVS-1.8.3.exe Кликнув правой кнопкой мышки на ярлыке "Мой компьюьер", в popup-меню
надо выбрать CVS - Preferences, и на закладке Advanced установить
параметр "Network compression" на максимум - 9
Затем надо создать папку, в которыю будут загружаться
sourceforge-проекты - например Projects. В проводнике Windows в
popup-меню этой папки выбрать CVS Checkout и установить параметры:
Общие для всех проектов:
Protocol: :pserver
Server: cvs.sourceforge.net
User name: anonymous
И для harbour:
Repository folder: /cvsroot/harbour-project
Module: harbour
Для xharbour:
Repository folder: /cvsroot/xharbour
Module: xharbour
Затем нажать OK, и начнется закачка сырцов. Первый раз это займет
некоторое время, а при последующих chackout будут загружаться
только новые и изменившиеся модули.
Впрочем можно использовать и WinCVS: www.wincvs.org (это дело вкуса)
A. Как собрать харбор из сырцов ?
Q. Для сборки необходим компилятор C, а также дополнительные
программы: Flex и Bison: бесплатные версии лексического и
синтаксического анализаторов Lex и Yacc. Причем для сборки
harbour необходим и Flex и Bison, а для сборки xharbour -
только Bison. Для бизона необходимо скачать правила грамматик:
файл bison.simple. При сборке путь к flex.exe (для harbour) и
bison.exe должен быть указан в переменной окружения PATH, а
также установлена переменная окружения BISON_SIMPLE (в autoexec.bat):
set BISON_SIMPLE=<path>bison.simple
Flex можно скачать по адресу:
ftp://ftp.harbour-project.org/dev/flex.zip Bison необходим версии 1.28 или старше, вот адреса для скачивания:
ftp://ftp.harbour-project.org/dev/bsn128b.zip http://www.harbour-project.org/bison-simple.zip или более свежую версию:
http://gnuwin32.sourceforge.net/downlinks/bison-bin-zip.php Должны быть также установлены параметры окружения BCC - см.вопрос
про сборку программы.
Затем надо просто запустить пакетный файл для сборки харбора:
для xharbour это makallbc.bat, который собирает и сам харбор и все
библиотеки contrib, а для harbour - make_b32.bat, кототрый собирает
харбор, а библиотеки contrib надо собирать каждую отдельно
Внимание ! Если сборка выполняется из Far под winnt/2k/xp/2003, надо
в свойствах ярлыка Far поставить "Совместимость с win2k". Это
известный и неисправленный баг борландовского компилятора.
После того, как сборка дошла до конца, харбор готов к употреблению.
Т.е для исправления бага тебе желательно освоить работу с CVS и сборку из сырцов
Это несложно
Но если будут проблемы, можно выкрутиться так:
В свой прг вставить исправленный ScreenAttr:
#pragma BEGINDUMP
#include "hbdefs.h"
#include "hbapi.h"
#include "hbapigt.h"
HB_FUNC( SCREENATTR )
{
UINT uiSize;
int iRow, iCol;
char * pcPos;
SHORT i_Row;
SHORT i_Col;
if ( ! (ISNUM(1) && ISNUM(2)) )
{
hb_gtGetPos( &i_Row, &i_Col );
}
iRow = ( ISNUM(1) ? hb_parni( 1 ) : i_Row );
iCol = ( ISNUM(2) ? hb_parni( 2 ) : i_Col );
hb_gtRectSize( iRow, iCol, iRow, iCol, &uiSize );
pcPos = (char * ) hb_xalloc( uiSize + 1 );
if( pcPos != NULL )
{
hb_gtSave( iRow, iCol, iRow, iCol, pcPos );
hb_retni( ( unsigned char ) pcPos[1] );
}
else
hb_retni( 0 );
hb_xfree( pcPos );
}
#pragma ENDDUMP