set procedure to de foxpro y flagship no funciona bien en harbour

19/03/2010

1. Yo usaba en FlagShip mucho el comando set procedure to, en
cada modulo de programa, xharbour lo maneja como un error y suspende
el sistema, no informa del error
solamente detiene el proceso, fue mas por intuicion que por cualquier
otra cosa que me imagine que el error era este, pues en ninguna parte
dicen nada acerca de lo que ocurre. busque todas las referencias a este
llamado y las cambie por llamados sencillas a do ... procedure Nfile
2. el parametro NEW que se usa con el set printer , en FlagShip no
funciona y genera un error que xharbour muestra como error de sintaxis
3. La separacion convencional de FlagShip para remplazos como:

replace valor with 100 valor1 with 200 ...

marca error hay que separlo por comas , lo mismo para el comando sum
y todos aquellos comandos que tengan mas de un parametro.
Tengo entendido que Clipper ya lo tiene asi, pero FlagShip y Foxpro no.

4. No se puede dejar cada modulo solo con el nombre hay que declarar
el procedimiento en cada modulo, aunque existe en el compilador el

un ejemplo por ejemplo:

el modulo:
esunejem.prg
----------------------------------------------------------------------------
parametes P1,P2

store P1 + P2 to P3

return
----------------------------------------------------------------------------
no compila por que el modulo no tiene el procedure inscrito en el
interior del modulo debe quedar asi:

el modulo:
esunejem.prg
----------------------------------------------------------------------------
procedure esunejem
parametes P1,P2

store P1 + P2 to P3

return
----------------------------------------------------------------------------

El parametro -n1 y n2 en harbour para que el sistema inserte el
nombre del modulo como parte del procedimiento , no pude que me
funcionara y por lo tanto me toco delarar explicitamente cada modulo
con su procedimiento y parametros, esto implico que la compilacion se
hiciera con el parametro -n0 y se usara el parametro -m, que impide
que el compilador busque las ocurrencias de los distintos modulos
inmersos en las distintas funciones y procedimientos como llamados a
este a traves de do...
si no se hace asi , la compilacion muestra un error de "assumed
external", y no deja link (encadenar el resto del sistema).
Encontre una referencia en un sistema clipper que tenia hace mucho que se
puede llamar internamente los modulos con un comando de
encadenamiento, BLINK creo que se llama , distinto a Do y que
funciona, pero la verdad tengo tantos llamdos Do , que modificar el
sistema para que haga esto si que seria muy
demorado.Opte por la simple y declare los moduolos que faltaban.

5. El sistema no genertaba un ejecutable pues no sabia cual de todos
los modulos es el de arranque del sistema, aunque yo habia colocado
claramente en el guion compila -oconta.out, el problema es que que en xharbor
hay que decirle cual es explicitamente a traves de la funcion main.

Se declaro entonces esta funcion en conta.prg asi:

# less conta.prg

********************************************************************
* PROGRAMA DE MENU PARA EL SISTEMA DE CONTABILIDAD *
* *
* Desarrollado por CARLOS ARTURO CASTANO G. *
* *
* *
********************************************************************


function main()

set talk off
set exclusive off
.
.
.

return

Comentarios

Entradas populares