Page 1 of 1

DBF Abiertos

Posted: Thu Jan 21, 2016 7:41 am
by Loren
Compañeros, buenas:

Tengo una duda:
Mis aplicaciones abren simultaneamente los DBF's al inicio y los cierra todos al salir. Mis EXE trabajan con una media de 35 DBF's... pero...
¿Cuantos DBF's puedo tener abierto simultaneamente? ¿Hay un límite a partir del cual afecte a la memoria o se desborde el EXE? Voy a subir una actualización que contempla 6 nuevos DBF y temo que los clientes avisen de que hay desbordamiento de memoria, colapso o falta de rendimiento.

Gracias.
Un saludo.
LORENZO.

Re: DBF Abiertos

Posted: Thu Jan 21, 2016 8:31 am
by hmpaquito
loren,

En mi aplicacion, de forma permanente, hay abiertos 200 dbfs. Luego estan las que se van abriendo al vuelo y cerrando.
En tu aplicacion puedes hacer un test rapido que lo compruebe

Code: Select all

aStruct:= {}
FOR nI:= 1 TO 300
   Aadd(aStruct, {"Field"+ StrZero(nI, 3), "C", 100, 0} )
NEXT

dbCreate("test.dbf", aStruct)
FOR nI:= 1 TO 1000
   SELECT 0
   USE test ALIAS ("Ali"+ StrZero(nI, 3)) SHARED
NEXT

cMsg:= ""
FOR nI:= 1 TO 2000
   IF Empty(Alias(nI))
      EXIT
   ENDIF
   cMsg:= StrZero(nI, 3)+ " - "+ Alias(nI)+ Chr(13)+ Chr(10)
NEXT
MsgInfo(cMsg, "Dbfs abiertas)
salu2