FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Multiples versiones de un sistema
Posts: 883
Joined: Tue Oct 11, 2005 11:57 AM
Multiples versiones de un sistema
Posted: Sun Mar 25, 2012 09:35 PM

Holas...

Quien maneja multiples versiones de un mismo sistema, y como lo hace ?

Hasta el momento, tengo diferentes sistemas, para varios rubros.. pero ultimamente me han solicitado una version "reducida" de un sistema de gestion mas o menos grande, quiero contorlarlo con el menu principal y unas modificaciones en 4 modulos del sistema ( tiene 47 ).

La idea es crear otro dir, con un .lnk que llame a los prgs propios de la version y los otros al directorio de la version "full", de hecho me sirve la misma estructura del "full", ya que si deciden un upgrade, no tengo que hacer ningun cambio a nivel de la DB MYSQL.

Me acomoda ese mecanismo, pero quisiera saber de sus experiencias, en una de esas tienen algo mas elaborado que me pueda ayudar, quizas un administrador de versiones externo .. no se.. cualquier ayuda o tip sera bienvenido.

Saludos desde Chile
Adolfo

PD : Por ej. Tener 2 dialogos distintos, dependiendo de la version en el RC, o 2 RC casi identicos con el dialogo cambiado en uno....

o el manejo de la compilacion y linkeo condicional.... o es mucho...

;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
Posts: 337
Joined: Fri Oct 07, 2005 02:44 PM
Re: Multiples versiones de un sistema
Posted: Mon Mar 26, 2012 01:00 AM

Hola Adolfo,

A mi me ha tocado y lo que hago es tener un .ch con algun define , y dentro de los prgs necesarios el correspondiente #IFDEF o #IFNDEF para compilar condicionalmente una u otra version, el .ch lo incluyo por defecto en todos los prg de mi sistema, asi, solo modifico el ch y recompilo.

Eso si hay que ordenarse bastante bien a la hora de corregir cosas en las dos o mas versiones, ya que a veces se torna bastante tedioso.

Saludos,

Lautaro Moreira
Osorno
Chile

Hola,

Soy un Contador que por necesidad aprendio a programar y se quedo programando.
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Multiples versiones de un sistema
Posted: Mon Mar 26, 2012 12:43 PM

Hola Adolfo.
En ciertas ocasiones lo hice como expone Lautauro, en el caso de quitar algunos modulos del sistema completo, y me funcionaba solamente cuando era eso, reducir modulos únicamente. Pero... como dice Lautauro, se vuelve muy tedioso, ya que en mi caso los clientes casi nunca aceptaban tal y como estaba el sistema (en cosas cursis, no en su operación y resultados), opté por mantener una carpeta de los sistemas por cada cliente (solo aquellos que solicitaban alguna "variante"). Asi se me facilita el mantenimiento requerido por cada usuario.

Saludos.

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 883
Joined: Tue Oct 11, 2005 11:57 AM
Re: Multiples versiones de un sistema
Posted: Mon Mar 26, 2012 01:05 PM

Francisco, Lautaro
Gracias pór las respuestas.

En algun momento tuve hasta 13 versiones de un mismo sistema en directorios distintos con las opciones que cada cliente pedia. Hasta que lo parametrize bastante y utilizo un archivo de configuracion para habilitar ciertas caracteristicas o no.

Pues bien, ahora es distinto, es una version "LIGTH", son modulos que no existen o que no usan todas las caracteritcas ( como campos de alguna tabla) y que usan recursos ( como dialogos) distintos. Y es aqui donde quiero ordenarme, de una forma distinta quizas, por eso pregunte sus opiniones o experiencias.

Saludos desde Chile
Adolfo

;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
Posts: 389
Joined: Mon Oct 13, 2008 11:26 AM
Re: Multiples versiones de un sistema
Posted: Mon Mar 26, 2012 02:22 PM

Você pode fazer isso através de diretivas de compilação, por exemplo:

IFDEF FULL

//-- Seu código caso seja a versão completa

ELSE

//-- Seu código caso seja a versão reduzida

ENDIF

IFDEF LIGHT

//-- Seu código caso seja a versão reduzida

ELSE

//-- Seu código caso seja a versão completa

ENDIF

Na diretiva de compilação você vai adicionar /D__FULL__ quando for a completa e /D__LIGHT__ quando for a resumida

Email: SamirSSabreu@gmail.com
xHarbour 1.2.3 + Fwhh 20.2
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Multiples versiones de un sistema
Posted: Mon Mar 26, 2012 03:46 PM

Adolfo,

Yo lo haría con codigo...

lFullVersion() / lLightVersion()

¿ por qué así ?

Lo que tengo claro es que mantener varias carpetas para un mismo cliente se convierte a la larga en un lio.

Luego, usar lFullVersion()/ lLightVersion() porque:
Es mas comodo que utilizar las directivas de compilacion: por ejemplo en un comando.
No hay necesidad de recompilar: solo mantienes un unico exe que se comportara en funcion de la configuracion del cliente: full /light.

En aquellos procesos que toman mas tiempo, habrá que optimizar y por ejemplo en vez de llamar en un bucle a lFullVersion(), lo asignariamos a una variable local y preguntariamos por la variable.

Saludos

Continue the discussion