quinta-feira, 24 de abril de 2008

xHarbour - Como começar - Parte II

Crie um arquivo .BAT com o seguinte conteúdo:

SET PATH=C:\BCC55\BIN;c:\bison\bin;c:\xharbour\bin;%PATH%
SET INCLUDE=c:\Bcc55\include;c:\xHarbour\include;%INCLUDE%
SET LIB=c:\Bcc55\lib;c:\xHarbour\lib;%LIB%
SET HB_LEX=SIMPLEX
SET BISON_SIMPLES=c:\bison\bison.simple
SET CFLAGS= -5 -OS -a8SET HB_PATH=C:\XHARBOURSET

Execute-o
Vá para C:\xharbour e digite:

make_b32 clean
makallbc clean
makallbc

Se chegou até aqui você conseguiu e está com o xharbour devidamente compilado.

Iniciando os trabalhos


Minha primeira referência com o projeto xHarbour na verdade aconteceu num Workshop realizado em São Paulo no hotél transamérica, ao qual fui enviado pela empresa que trabalhava na época. O WorkShop na verdade era sobre o lançamento do CA-VO (Visual Object) o qual se apresentava como o sucessor natural do clipper para ambiente Windows/GUI 32 bits. Este na verdade todos sabemos acabou não vingando, o motivo não importa agora, mas me foi apresentado um painel que indicava um caminho de transição mais ou menos assim: Clipper 5.2 -> Clipper 5.3 -> DBFast (quem se lembra desse ! eu testei !) -> CA-VO -> Projeto Harbour. Como na época eu estava testando o DBFast e o clipper 5.3 adquiridos pela empresa, acabei ignorando o CA-VO. Em seguida minha empresa optou por trabalhar com softwares da plataforma MS, e comprou o VB, e lá fui eu aprender VB, cheguei até a fazer alguns sistemas nessa linguagem.
Mas eu gostava mesmo é do Clipper, na época eu pensava que se havia alguma linguagem que continuaria se sobressaindo era essa (em função do parque de máquinas que havia - muitos 486, monitores Mono, as vezes até sem HD), então uma linguagem for windows nem pensar. E acabei continuando com Clipper, meus sistemas foram ficando cada vez mais complexos e eu tinha um tbrowse muito bem escrito, o que me permitia muito reaproveitamento de código com poucas mudanças e muita funcionalidade, assim eu fui adaptando, mudei o sistema de índices (adotei o SIXNSX), incorporei a Visual 2 Lib, a Vouch lib, OSLib e por ai vai. Assim foram aparecendo Windows 95, 98, 2000, ME e XP e os meus sistemas continuaram rodando. Hoje ainda tenho sistemas rodando em todas essas plataformas. Isso acabou gerando um misto de acomodação com excesso de requisições, que fizeram com que eu fosse levando do jeito que estava, sempre encontrando paliativos, para o que era necessário e deixando de realizar a mudança que agora estou me propondo a fazer.
Com relação ao xharbour, devo dizer por que estou optando por ele. Compatibilidade inicial com os sistemas instalados. É isso, acho que todo desenvolvedor Clipper passa por esta angustia: trocar de linguagem, o que vou enfrentar no ambiente de produção ? vou conseguir sanar os problemas decorrentes de quedas de força, desligamentos indevidos, abortagem do sistema pelos usuários, inadequação da infra-estrutura de hardware dos clientes ?
Por isso buscamos inicialmente manter a compatibilidade, não podemos perder os clientes e assim buscamos a ferramenta que nos proporcione isso. De minha parte, eu tentei com o Clipper 5.3 (achei muito improdutivo o ambiente gráfico), DBFast (idem), MS-VB (tive muitas dificuldades para trabalhar com bases de dados que não fossem do ACCESS), Delphi (esse posso dizer que gosto muito do ambiente de desenvolvimento, mas tem muitas limitações para trabalhar com DBFs, que diga-se podem ser contornadas com o APOLLO, mas mesmo assim encontrei muito pouco auxílio e para falar a verdade eu acho o Pascal muito chato), por fim veio o Harbour/xHarbour. Quando conheci o site do projeto, achei uma maravilha, era a solução para os meus problemas - 100% de compatibilidade com o Clipper e ainda gerava executáveis de 32 bits e fornecia suporte a API do Windows, DLLs, GUIs e no futuro portabilidade para outras plataformas, então estava resolvido, mãos à obra ! Baixei o dito, e tudo o mais que foi indicado e fui compilar e para grande surpresa, nada ! não conseguia nem compilar. Ai cadastra em news aqui, fórum ali, muita informação e pouco resultado. Achei que o produto ainda estava muito imaturo (de fato ainda não havia nem o .COM), por isso fui deixando, somente acompanhando os news, o que fiz até a época da criação do xHarbour comercial, logo depois eles criaram um novo news e eu deixei de ter contato até agora, que fui pesquisar qual era o status atual do projeto e para minha surpresa, verifiquei que o xHarbour realmente está com tudo para se tornar um grande sucesso, capaz de realizar tudo o que havia sido prometido.
Assim explicado o motivo da minha escolha, seguirei reportando aqui o que for aprendido nesse meu caminho de migração, talvez para uma audiência que seja só minha, (espero que outros possam se beneficiar), mas farei do mesmo modo, como uma ferramenta de perseverança no que estou me propondo a fazer.

Objetivo do Blog


A idéia inicial deste blog é criar um ponto de reunião e de troca de experiências para aqueles programadores, que como eu e outros tantos pelo Brasil afora, ainda dependem quase que integralmente de programas escritos em clipper, mas tem intenção de portar seus aplicativos para uma ferramenta de desenvolvimento visual.