FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posts: 77
Joined: Wed Oct 12, 2005 05:36 PM
AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posted: Thu Nov 29, 2007 12:56 PM

Amigos:

Tenemos desarrollado nuestro ERP compilado bajo fw 2.7 dicembre 2005/clipper 5.2e/blinker 6.0, el soft est谩 corriendo bajo win 2003 server (por terminal server) ok en muchos clientes, con varios puestos de trabajo cada uno, pero nos encontramos con errores de ejecuci贸n aleatorios de dos tipos:
- aparece el error ntvdm error y el programa se cierra sin dejar rastros.
- el segundo es siempre por Error no recuperable 332: Desbordamiento de la memoria para matrices/cadenas desde distintos lugares del soft pero siempre este error, a modo de ejemplo paso dos secuencias que lo generaron:

ARRAY (0) Error no recuperable 332 o 331: Desbordamiento de la memoria para matrices/cadenas

ARRAY 0000
ACLONE 0000
ACLONE 0000
ACLONE 0000
INITFORM 3799
(b)EXECFORM 2591
TDIALOGL:INITIATE 0000
TDIALOGL:HANDLEEVEN 0000
DIALOGBOXI 0000
TDIALOGL:ACTIVATE 0000
EXECFORM 2591
FORM 2067
(b)MOVIM 0403
MOVIM 0707
(b)GENMENU 0000
TMENU:COMMAND 0000
TWINDOW:COMMAND 0000
TWINDOW:HANDLEEVEN 0000
WINRUN 0000
TWINDOW:ACTIVATE 0000
SYSTEMINIT 0636
INICIO 0158

otra secuencia:
BEGINPAINT (0) Error no recuperable 331: Desbordamiento de la memoria para matrices/cadenas

BEGINPAINT 0000
TGETL:_BEGINPAIN 0000
(b)TGET 0000
TGETL:HANDLEEVEN 0000
DIALOGBOXI 0000
TDIALOGL:ACTIVATE 0000
EXECFORM 2591
FORM 2067
(b)MOVIM 0403
MOVIM 0707
(b)GENMENU 0000
TMENU:COMMAND 0000
TWINDOW:COMMAND 0000
TWINDOW:HANDLEEVEN 0000
WINRUN 0000
TWINDOW:ACTIVATE 0000
SYSTEMINIT 0636
INICIO 0158

Estamos muy perdidos en como rastrear y eliminar estos errores. Por favor cualquier ayuda vendr铆a excelente.

Un abrazo.
Ricardo.-

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posted: Thu Nov 29, 2007 01:17 PM

Ricardo,

La mejor ayuda para esos errores es que paseis la aplicaci贸n a 32 bits con FWH cuanto antes.

Los errores que describes son t铆picos de aplicaciones de 16 bits con Clipper y son muy dif铆ciles de solucionar

El 332 es que ya no teneis m谩s memoria y es porque estais limitados a 64 Ks en 16 bits. Es algo normal ya que la aplicaci贸n crece y esa barrera permanece.

En cuanto al ntvdm aqui tienes algunas indicaciones de MS:

http://support.microsoft.com/kb/220155/es

La soluci贸n es migrar a 32 bits cuanto antes

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 30
Joined: Thu Oct 25, 2007 07:54 PM
AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posted: Sat Dec 01, 2007 11:39 PM

Respecto a lo que comentas sobre NTVDM, nos ha pasado con las instrucciones de borland y cada vez que invoc谩vamos la orden memory(-1),.

Supongo que la aplicaci贸n ha funcionado bien siempre y ahora est谩 fallando, si es as铆 conf铆rmamelo.

Otro de los factores qu teneis que tener en cuentas son las limitaciones con tablas que tiene de clipper.

Espero que haya servido de ayuda

Posts: 77
Joined: Wed Oct 12, 2005 05:36 PM
AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posted: Mon Dec 03, 2007 06:57 PM

Esos errores aleatorios nos han acompa帽ado siempre en mayor o menor medida, si bien estamos pensando seriamente el paso a Harbour 32, decime por favor c贸mo has trabajado para minimizar los errores que tenemos mientras aun estemos en win16.

Gracias.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posted: Mon Dec 03, 2007 08:48 PM

Ricardo,

El error 332 puede "mejorarse" reduciendo el n煤mero de variables est谩ticas usadas, agrup谩ndolas en una sola que las contenga a todas en un array. Que heapsize y stacksize estais usando en el fichero LNK ?

De todas formas, la verdadera soluci贸n es pasar a 32 bits y asi superar las barreras que tienen las aplicaciones en 16 bits.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 77
Joined: Wed Oct 12, 2005 05:36 PM
AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posted: Tue Dec 04, 2007 05:27 PM

antonio:

Te paso directamente nuestro archivo de compilaci贸n .lnk
Espero cualquier comentario.

Saludos y Gracias.

BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE CLIPPER F255
BLINKER INCREMENTAL OFF
BLINKER PROCEDURE DEPTH 100
BLINKER CLIPPER SYMBOL ON

PACKCODE
PACKDATA

DEFBEGIN
name FiveWin
description 'Clipper for Windows library'
exetype Windows 3.1
code moveable discardable
data preload moveable
stacksize 9500
heapsize 3048
segment 'PLANKTON_TEXT' nondiscardable
segment 'EXTEND_TEXT' nondiscardable
segment 'OM_TEXT' nondiscardable
segment 'OSMEM_TEXT' nondiscardable
segment 'SORTOF_TEXT' nondiscardable
segment 'STACK_TEXT' nondiscardable
DEFEND

SEARCH s:\lib\Five, s:\lib\FiveC, s:\lib\Objects

LIB r:\lib\fiscal

LIB s:\lib\WinApi
LIB j:\evo0703\clases\LOGICLAS.lib
LIB s:\lib\filexls.lib
LIB j:\evo0703\library\LOGIEXEK.lib

LIB r:\lib\clipper
LIB r:\lib\extend
LIB r:\lib\terminal
LIB r:\lib\dbfntx
LIB r:\lib\dbfcdx

LIB r:\lib\FLEX52

FILE INICIO
FILE ERRORSYS

// BEGINAREA
FILE INICIO2
FILE LIBTM300
FILE LIBHASAR
FILE LIBLX300
FILE FILES
FILE LIBPROC
FILE LIBPROC1
FILE LIBPROC2
FILE LIBPROC3
FILE LIBPROC4
FILE LIBESTAD
FILE LIBMOVIM
FILE LIBCOSTO
FILE LIBCONT
// ENDAREA

OUTPUT evo.exe

Posts: 77
Joined: Wed Oct 12, 2005 05:36 PM
AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posted: Tue Dec 04, 2007 05:49 PM

Antonio:
Me qued茅 pensando, existe alguna funcion que pueda servir para liberar y realocar memoria tipo la GlobalCompact()? esto podr铆a solucionar este error, porque si el usuario cuando se cierra el sistema vuelve a entrar y hace la operaci贸n que antes dio error, ahora no lo da. Claro, antes venia haciendo muchas otras operaciones y supongo que algo quedo feo en la memoria.

Podra servir GlobalCompact() u otra similar que no conozco?
Gracias.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posted: Tue Dec 04, 2007 06:06 PM

Ricardo,

Prueba a bajar el heapsize a 2024

No sirve llamar a una funci贸n de compactaci贸n de memoria de Windows ya que todo el problema de Clipper reside en un bloque de memoria de 64 Ks que el usa :-(

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 33
Joined: Thu Aug 24, 2006 03:14 AM
A mi me funciona de maravilla clipper con FW en W2003 y TS
Posted: Sun Dec 09, 2007 10:16 PM

Lo 煤nico que hago es habilitar que cada ejecuci贸n corra en memoria separada.

Puedes crearle un acceso directo y en propiedades Avanzadas marca que corra en memor铆a separada.

COn FW de 16 el W2K3 corre NTVDM (NT-Virtual Dos Machine) luego adentro corre WOW (Windos de 16 sobre windows de 32)

Si no lo marcas en memoria separada, todos van a correr bajo el mismo ntvdm. y por eso tienes conflictos.

Si lo marcas para que corra en memoria separada, cada ejecucion tendra su propio NTVDM+WOW.

Espero te sirva

Posts: 77
Joined: Wed Oct 12, 2005 05:36 PM
AYUDA POR FAVOR CON ERRORES ALEATORIOS EN EJECUCION
Posted: Fri Dec 14, 2007 08:10 PM

Gracias, esto lo estamos usando as铆 y a煤n as铆 tenemos este problema.

Un abrazo.

Continue the discussion