ir al índice

www.fivetechsoft.com

English language

  Productos y Servicios    Noticias     Soporte     Descargas     Pedidos     Enlaces     Acerca de Fivetech  

FiveWin para Harbour

FWH es una librería para el nuevo compilador Harbour que le permite crear autenticos ejecutables de 32 bits para Microsoft Windows (Win 95/98, Windows NT, Windows 2000). FWH es casi 100% compatible con el resto de versiones de FW (FW para CA-Clipper y FW++ para Alaska XBase++).

Con FWH obtendrá ejecutables de 32 bits de reducido tamaño y sin necesidad de utilizar ninguna DLL externa.

FiveTech Software cree sinceramente que Harbour es la herramienta xbase del nuevo milenio: código abierto, gratis, multi plataforma, auto contenido (no requiere de ninguna DLL externa) y esta atrayendo la atención de los más importantes desarrolladores.

Con FWH incluimos las versiones más recientes de Harbour, para los compiladores Microsoft Visual C++ 6.0 y (gratuito) Borland C++ 5.5. Entregamos dos grupos de librerias de FWH para ambos compiladores de 'C'.

Para usar Harbour y FWH se necesita un compilador de 'C', pero no se preocupe porque su uso es realmente sencillo y nosotros les daremos todos las instrucciones que necesite para evitar la complejidad de este tipo de herramientas. Recomendamos el nuevo compilador Borland C 5.5 que puede ser descargado directamente desde internet (revise la página de descargas).

Con FWH y el compilador de Borland, no necesitará nada más para crear verdaderas aplicaciones de 32 bits ya que FWH incorpora el propio Harbour y el compilador C de Borland también incluye otras herramientas necesarias para el desarrollo, como son el compilador de recursos y el linker. Su actual Resource Workshop para 16 bits funciona perfectamente con FWH.

No se confunda por los requerimientos de un compilador C, Harbour crea el mismo Pcode que Clipper pero en vez de crear el fichero OBJ , crea un archivo C con los registros Pcode equivalentes . Este método da a Harbour el beneficio de ser un autentico compilador multiplataforma, dado que siempre hay un compilador C en cualquier posible plataforma.

Harbour ofrece soporte completo de índices NTXs y CDXs, así como también incluye una librería específica para acceder al driver local gratuito de Advantage con soporte NTX y CDX que puede usar en sus propias aplicaciones.

FWH incluye:

FWH (versión email) incluye:

Nota: FiveTech Software no carga dinero alguno por Harbour y su documentación.

Gran oferta, ahora incluye una copia gratuita de EasyReport Personal edition.

¿Que es FWH?

FWH es un conjunto de comandos, clases y funciones creadas con el objetivo de obtener la mayor potencia del entorno de Microsoft Windows en unión con Harbour, el compilador de código abierto compatible Clipper (http://www.harbour-project.org).

FWH es una librería que puede lincar con su aplicación en Harbour facilitando el uso de todas esas functionalidades. Esta versión de FWH ha sido construida usando el compilador gratuito Borland C/C++ 5.5 (http://cc.codegear.com/Free.aspx?id=24778) compilador que tambien ha sido utilizado para construir Harbour.

FWH ha sido desarrollado para mantener una completa compatibiliad con la libreria FW para Clipper original. FiveTech Software ofrece verdadera compatibilidad entre 16 y 32 bits. Debido a este nivel de compatibilidad ambos productos comparte el mismo manual y TODOS los ejemplos dados.

El conjunto de clases de FWH son completamente autocontenidas. FWH facilita las clases necesarias para crear ventanas standard, diálogos, nenús y barras de botones con el estilo de Microsoft Office , etc. Las razones por la que FWH ha sido desarrollada con su propio grupo de GUI clases son las siguientes:

  • Total soporte de recursos de Windows estandar: FWH le permite utilizar herramientas estandar para diseñar diálogos, como Microsoft Visual Studio o Borland Resource Workshop, posibilitando el diseño visual tal como hacen los programadores profesionales con C y C++. De este modo, diseñando sus propios diálogos le permitirá tener total independencia entre el diseño gráfico del interface y el codico fuente de sus aplicaciones. Podrá modificar facilmente sus diálogos sin necesidad de alterar o modificar el correspondiente código fuente.
  • FWH utiliza las propias librerías de importación de Borland C/C++ 5.5 para acceder al API de Windows por lo que no se necesita el equivalente WinApi.lib de FW para Clipper.
  • Simple y facil de usar: Los comandos y el conjunto de clases de FWH han sido especialmente diseñadas para ofrecer una gran facilidad de uso y requerir una mínima formación. FW ha sido siempre muy popular por su potencia y facilidad de uso.

Estas razones demuestran lo importante que es usar FWH para migrar sus actuales aplicaciones de Clipper y FW a 32 bits. FWH le dará un control total sobre el entorno Microsoft Windows y es indispensable para cualquier empresa de programación profesional ya que permite entregar aplicaciones bajo Windows que ofrecen soluciones de gestión modernas y actualizadas

Instalación de FWH:

FWH está diseñado para ser usado con Harbour, el compilador compatible Clipper de codigo abierto disponible en www.harbour-project.org. Aunque puede bajarse la ultima versión de Harbour de esta web nosotros le recomendamos que utilice la que le entregamos ya que ha sido probada y construida conteniendo sus archivos ejecutables (harbour.exe) listos para usar. Solo haga click en el icono de instalación de Harbour y éste se instalará automaticamente.

FWH incorpora un proceso de instalacion automático por lo que solo necesita seleccionar el icono de instalación y completar algunos detalles para conocer el path de destino y los componentes que desea instalar.

Como FWH ha sido especificamente construido para ser usado con el compilador gratuito Borland C/C++ 5.5 se requiere también la instalación del compilador Borland en su ordenador.

El compilador gratuito Borland C/C++ 5.5 puede descargarlo desde http://cc.codegear.com/Free.aspx?id=24778. La instalación de Borland C es un proceso automático, una vez completado, deberá crear los siguientes archivos ascii: bcc32.cfg y ilink32.cfg e instalarlos en c:\Su_Borland_path\bin con el siguiente contenido:

bcc32.cfg:

-I"c:\Su_Borland_path\include"
-L"c:\Su_Borland_path\lib"

ilink32.cfg:

-L"c:\ Su_Borland_path \lib"

El fichero readme de Borland también explica estos requisitos claramente.

Uso de FWH:

Una vez instalado Harbour, FWH y el compilador gratuito Borland C/C++, simplemente vaya al directorio c:\FWH\SAMPLES y revise los paths definidos en BuildH.bat para asegurarse que coinciden con los paths seleccionado en la instalación de Harbour y Borland Luego escriba:

BuildH.bat tutor01

Esto hará que Harbour.exe compile tutor01.prg, llame a bcc32.exe para generar el OBJ requerido, brc32.exe genere si existe el fichero de recursos RES y por último ilink32.exe construya el EXE. Todo el proceso es realizado de un modo automático desde BuildH.bat.

Una primera ventana tipo 'Hello World!' mostrará un pequeño dialogo en la pantalla. Si no es así, por favor revise de nuevo los paths dentro BuildH.bat para asegurarse que son los que ha seleccionado para la instalación de Harbour y del compilador Borland.

Después, le recomendamos continuar probando los diferentes ejemplos que encontrará en dicho directorio.

Para adaptar sus ficheros 'make' relizados en FW y Clipper, simplemente necesita hacer unas modificaciones dentro de los mismos como muestra el fichero SAMPLES\BuildH.bat

Directrices para usuarios de Harbour:

FWH está compuesta por dos librerías FiveH.lib y FiveHC.lib. Junto a ellas , FWH proporciona un gran conjunto de ficheros de cabecera (extensión .CH) que incluye todos los comandos de XBase requeridos para crear y manejar los diferenter objetos de Windows.

En nuestros directorio de ejemplos '\samples', proporcionamos el fichero 'BuildH.bat'. Este fichero muestra el modo correcto de lincar las aplicaciones desarrolladas con Harbour y FWH.

BuildH.bat:

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

set hdir=c:\harbour\harbour
set bcdir=c:\bcc55\bin
%hdir%\bin\b32\harbour %1 /n /i..\include;%hdir%\include /p %2 %3 > clip.log
@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

echo -O2 -e%1.exe -I%hdir%\include -tW %1.c > b32.bc
%bcdir%\bcc32 -M -c @b32.bc
:ENDCOMPILE

IF EXIST %1.rc %bcdir%\brc32 -r %1

echo c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo ..\lib\FiveH.lib ..\lib\FiveHC.lib + >> b32.bc
echo %hdir%\lib\b32\rtl.lib + >> b32.bc
echo %hdir%\lib\b32\vm.lib + >> b32.bc
echo %hdir%\lib\b32\gtwin.lib + >> b32.bc
echo %hdir%\lib\b32\lang.lib + >> b32.bc
echo %hdir%\lib\b32\macro.lib + >> b32.bc
echo %hdir%\lib\b32\rdd.lib + >> b32.bc
echo %hdir%\lib\b32\dbfntx.lib + >> b32.bc
echo %hdir%\lib\b32\debug.lib + >> b32.bc
echo %hdir%\lib\b32\common.lib + >> b32.bc
echo %hdir%\lib\b32\pp.lib + >> b32.bc
echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib, >> b32.bc
IF EXIST %1.res echo %1.res >> b32.bc
%bcdir%\ilink32 -aa -Tpe @b32.bc

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built
ECHO

:LINKERROR
%1
rem if exist meminfo.txt notepad meminfo.txt
rem PAUSE * Linking errors *
GOTO EXIT

:SYNTAX
ECHO SYNTAX: Build [Program] {-- No especifiques la extensi¢n PRG
ECHO {-- Don't specify .PRG extension
GOTO EXIT

:NOEXIST
ECHO Not exist the specified PRG

:EXIT

Recomendaciones importantes:

Observe el uso del Borland bcc32.exe (compilador Borland C/C++ compiler), después de llamar al propio Harbour, para generar los OBJs necesarios para luego ser lincados con Borland ilink32.exe (también gratuito).

No utilice Borland Resource WorkShop para guardar sus DLLs de 32 bits, pueden corromperse. Guarde sus recursos como un fichero '.RC' (ASCII), y luego podrá utilizar el compilador de recursos 'BRC32.exe' para convertir el fichero '.RC' en una DLL de 32 bits usando:

brc32.exe Resources.rc Resources.dll

Si mantiene todos sus recursos en una DLL, será muy fácil guardarlas en un fichero '. RC' directamente desde Resource Workshop, luego utilice ese '.RC' para lincarlo directamente en su '.EXE'. Si decide mantener sus recursos en una DLL externa, FWH proporciona una DLL vacia de 32 bits llamada 'screen32.dll' localizada en el subdirectorio '\dll'. Copiela e en el directorio de su proyecto y nombrela como quiera.

Directrices para usuarios de Clipper y FW:

Todo lo que se necesita para pasar sus aplicaciones a 32 bits es reemplazar Clipper.exe y Blinker.exe por sus equivalentes en 32 bits: Harbour.exe, bcc32.exe e ilink32.exe como se hace en SAMPLES\BuildH.bat. El fichero de cabecera FW.ch automaticamente detecta el uso de Harbour y pasa a realiza las conversiones necesarias. El compilador Harbour.exe es compatible con la mayoría de los paramentros de ejecución de Clipper.exe.

El nivel de compatibilidad del código fuente de FW con el nuevo FWH es practicamente del 100%.

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

set hdir=c:\harbour\harbour
set bcdir=c:\bcc55\bin

%hdir%\bin\b32\harbour %1 /n /i..\include;%hdir%\include /p %2 %3 > clip.log
@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

echo -O2 -e%1.exe -I%hdir%\include -tW %1.c > b32.bc
%bcdir%\bcc32 -M -c @b32.bc
:ENDCOMPILE

IF EXIST %1.rc %bcdir%\brc32 -r %1

echo c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo ..\lib\FiveH.lib ..\lib\FiveHC.lib + >> b32.bc
echo %hdir%\lib\b32\rtl.lib + >> b32.bc
echo %hdir%\lib\b32\vm.lib + >> b32.bc
echo %hdir%\lib\b32\gtwin.lib + >> b32.bc
echo %hdir%\lib\b32\lang.lib + >> b32.bc
echo %hdir%\lib\b32\macro.lib + >> b32.bc

echo %hdir%\lib\b32\rdd.lib + >> b32.bc
echo %hdir%\lib\b32\dbfntx.lib + >> b32.bc
echo %hdir%\lib\b32\debug.lib + >> b32.bc
echo %hdir%\lib\b32\common.lib + >> b32.bc
echo %hdir%\lib\b32\pp.lib + >> b32.bc
echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib, >> b32.bc
IF EXIST %1.res echo %1.res >> b32.bc
%bcdir%\ilink32 -aa -Tpe @b32.bc

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built
ECHO

:LINKERROR
%1
rem if exist meminfo.txt notepad meminfo.txt
rem PAUSE * Linking errors *
GOTO EXIT

:SYNTAX
ECHO SYNTAX: Build [Program] {-- No especifiques la extensi¢n PRG
ECHO {-- Don't specify .PRG extension
GOTO EXIT

:NOEXIST
ECHO Not exist the specified PRG

:EXIT

Adaptación de su código fuente C:

Harbour necesita realizar pequeños cambios en sus ficheros de desarrollo C. Proporcionamos una utilidad llamada TOOLS\Clp2Harb.exe que realiza automáticamente dichos cambios. Clp2Harb.exe es una pequeña aplicacion de Harbour (se proporcionan sus fuentes).

Clp2Harb.exe must be called prior to compile your C files:

Clp2Harb.exe se debe ejecutar antes de compilar sus fichero C:

Clp2harb.exe crea un fichero de salida con el nombre dado como segundo paramentro, con los cambios ya realizados. Después ejecute bcc32.exe de Borlando con la instrucción siguiente:

bcc32 -c TEMP\YourFile.c

Utilización de los controles de Borland (Bwcc32.dll):

En vez de usar bwcc.dll, ha de usar bwcc32.dll y hacer lo siguiente:

Primero cargue la DLL como de costumbre:

local hDLL := LoadLibrary( "bwcc32.dll" ) // Advierta el uso de 32

A continuación llame a:

BWCCRegister(GetResources())

Y al final de su aplicación, antes de terminar:

FreeLibrary( hDLL )

Y situe el siguiente código al final de su PRG principal:

DLL32 FUNCTION BWCCRegister( hInst AS LONG ) AS WORD PASCAL LIB "BWCC32.DLL"

Uso de Advantage local RDD con Harbour:

Actualmente puede usar el kit cliente de Advantage para 32 bits con Harbour para acceder por acceso remoto o local a cualquier fichero DBF. El acceso remoto se basa en el famoso servidor Advantage Xbase el cual esta también disponible para los usuarios de Clipper (16 bits), pero el driver local es nuevo para todos los usuarios de Clipper ya que no existe en 16 bits. El driver local funciona como una RDD estandar en contra los fichero DBF, por eso puede usarla para desarrollar sus propias aplicaciones con Harbour. La RDD de Advantage soporta los formatos CDX y NTX.

Las DLLs del driver local de Advantage se presentan en us software gratuito publicado por Extended Systems en su Web y FWH incluye las librerias necesarias para acceder a esas DLLs.

El link dodnde puede encontrar todas esas DLLs esenciales es en Advantage web site , en la seccion de desarrolladores de recursos. Una vez allí, necesitará registrarse para más tarde acceder a la web de Advantage Solutions. Dirijase al area "download" y seleccione la sección 5.7/2.7 release, haga click y descargue el archivo arc.exe. Este software incluye todas las librerias necesarias que son:

Todos estos ficheros se deben colocar en el directorio \WINDOWS\SYSTEM . si usted ya posee un servidor Advantage Database soló necesitará ACE32.DLL y AXCWS32.DLL

Para usar la RDD de Advantage desde sus aplicaciones Harbour tendrá que:

Este es un pequeño ejemplo:

// FW Quick browses feature sample

#include "FW.ch"
#include "ads.ch"
REQUEST _ADS

//----------------------------------------------------------------------------//

function Main()

rddRegister( "ADS", 1 )
rddsetdefault( "ADS" )

SET SERVER LOCAL
SET FILETYPE TO CDX

USE Clientes // Open any DBF...

OrdSetFocus("DIRECCION") // Second Tag on Clientes.cdx
go top

Browse() // Quick browse!!!

USE

return nil

//----------------------------------------------------------------------------//

Recomendamos el uso de Advantage remote Xbase Server de Extended Systems