Clipper/FiveWin - ovl en 5.0

 
Vista:

ovl en 5.0

Publicado por chelo (9 intervenciones) el 25/02/2004 15:22:11
Hola, el clipper 5.0 soporta ovl?
si es asi, como los puedo generar
o algun otro metodo para no dejar el .exe tan grande al compilar un sistema de gran volumen ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ovl en 5.0

Publicado por Armando Estrada Bucio (167 intervenciones) el 25/02/2004 16:07:34
Hola Chelo:

Desde luego que sí, Clipper 5.0 sí te soporta overlays, dado que es un poco amplio de explicar te respondo a tu privado y si alguien mas le
interesa el tema pues que me envie un mail y le doy copia.

Saludos, Armando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ovl en 5.0

Publicado por chelo (9 intervenciones) el 25/02/2004 16:42:22
Ok, Man Gracias, no estaba seguro, pero ahora ya Ok
Lo que si no me acuerdo es cual es la sintaxis, ya que uso el rtlink para compilar clipper 5.0, hace tiempo que no usaba los overlay y ya me olvide.
gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ovl en 5.0

Publicado por Armando Estrada Bucio (167 intervenciones) el 01/03/2004 17:40:54
Chelo, Antonio Gil:

Trate de responder a sus privados pero me son devueltas las
respuestas así que lo intentaré por aquí.

Primero debemos saber que hay dos clases de overlays, los estáticos
y los dinámicos; hasta la Summer'87 los overlays eran de carácter estáticos. Es decir, el programador los diseñaba en el momento de
programar la aplicación y, de forma independiente al sistema en que
la aplicación se programara, los overlays quedaban dimensionados hasta que el programa se linkeara bajo otros criterios. Clipper 5.0
soluciona este problema mediante la técnica de olverlays dinámicos.
Con estos el programador se olvida de seguir ningún criterior especial,
siendo el propio sistema quien decide que parte del código se posiciona
en el área de memoria principal y qué parte perte en el área de overlay.

C O N T I N U A . . . . .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ovl en 5.0 CONTINUA

Publicado por Armando Estrada Bucio (167 intervenciones) el 02/03/2004 00:11:14
Ahora viene la siguiente pregunta, ¿ Si la dupla Clipper 5.x - RTlink
se encargan de todo para qué usar ovelays ?. Bueno RTLINK gestiona
overlay dinámicos pero solo para código clipper, por ello es muy
necesario que en aplicaciones grandes donde se integre, por ejemplo,
rutinas en C o ensamblador, se diseñen las áreas de overlays estáticos para facilitar la ubicación de las mismas.

Cuando programamos usando esta técnica, lo que hacemos es dividir nuestra memoria RAM en dos o más áreas de trabajo. En la primera de ellas, la principal, se varga el módulo ejecutable y en las áreas de solape se cargan y descargan, conforme se van usando, los diferentes módulos overlay que hayamos definido. Pensemos en un programa que tenga 564 KB de tamaño. Si nuestra memoria RAM posee sólo 512 KB y debe tener previamente cargado el sistema operativo queda claro que la solución es cargar la aplicación por segmentos, según se vaya necesitando.

CONTINUAMOS CON UN EJEMPLO . . . . .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ovl en 5.0 un ejemplo

Publicado por Armando Estrada Bucio (167 intervenciones) el 02/03/2004 00:24:41
Los overlay estáticos en clipper permiten tres configuraciones. La elemental es aquella que divide la memoria de trabajo en un área principal y un área de solape, la seguna forma es la que la divide en una área principal y varias de solape y la tercera, y última forma, es la que trabaja con un área principal y varias de solape, teniendo algúna de éstas otros segmentos anidados.

Veamos a continuación un ejemplo para clarificar el uso de los overlays estáticos. Supongamos una aplicación que sirve para hallar la suma y la resta de dos número e imaginemos que la aplicación es tan extensa que no nos quepa en la memoria RAM. Para hacer los cálculos usa dos funciones Suma(a,b) y resta(a,b) que estan definidas en un PRG independiente en disco:

FUNCTION MAIN()
? SUMA(1,2)
? RESTA(2,1)
RETURN

FUNCTION Suma(a,b)
RETURN(a+b)

FUNCTION Resta(a,b)
RETURN(a-b)

No olvidar que tenemos dos PRG uno que incluye el programa principal (MAIN) y hace uso de las dos funciones, suma(a,b) y resta(a,b) y el otro PRG continene a las funciones, suma y resta.

CINTUNAMOS CON LA RESPUESTA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ovl en 5.0 la respuesta

Publicado por Armando Estrada Bucio (167 intervenciones) el 02/03/2004 00:34:54
La secuencia de operaciones que tenemos que efectuar para que la aplicación funcione según el modelo propuesto es la siguiente:

1) Compilar por separado cada uno de los programas, recordando que el programa principal, llamemosle menu.prg, debe compilarse con la opción -m, para que no incluya en el OBJ principal el código objeto de Suma.prg y Resta.prg.

Las sentencias a emplear serían:

CLIPPER menu -m
CLIPPER funcion
CLIPPER suma
CLIPPER resta

Esto nos proporcionará cuatro diferentes archivos .OBJ; MENU.OBJ, FUNCION.OBJ, SUMA.OBJ y RESTA.OBJ.

2) El archivo de enlace debe contener los siguientes mandatos:

FILE menu,funcion
BEGINAREA
SECTION INTO suma FILE suma
SECTION INTO resta FILE resta
ENDAREA

El resultado final es un archivo ejecutable denominado MENU.EXE y dos archivos de overlay; SUMA.OVL y RESTA.OVL que contienen cada uno los correspondientes programas; SUMA.PRG y RESTA.PRG. Las funciones que estos dos manejan están contenidas en FUNCION.OBJ que se enlaza con MENU.OBJ para que siempre estén presentes dichas definiciones en el área principal.

Trate de ser lo mas explicito posible dentro del espacio disponible pero si quedo alguna duda estoy a sus ordenes.

Un saludo a todos, Armando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar