Problema en apertura de ficheros desde el Emulador.

User avatar
pymsoft
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia
Contact:

Post by pymsoft »

Toni,

El ejecutable tambien lo guardo en memoria, pero los datos los guardo en la SD, para que en el caso que la PDA se quede sin baterias no tener perdida de datos.
El tema es que si estoy haciendo un browse de una base de datos que está en la SD, cuando va en stand-by me da error. (Hago el doble trabajo de cargar todo en un array y muestro el array, pero trabajo el doble para no tener ese tipo de errores)

Saludos
Pedro Gonzalez
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Toni,

> si realizo un FOPEN funciona no produce error

Has comprobado que valores devuelve FOpen() ?
( Que ninguno sea -1 )
regards, saludos

Antonio Linares
www.fivetechsoft.com
tsales
Posts: 186
Joined: Sat Oct 08, 2005 7:32 am

Post by tsales »

Antonio
Comprobado.
Todos los valores devueltos diferentes de -1

Saludos
Toni Sales
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Toni,

He modificado tu ejemplo quitándole los TRY...CATCH y el bucle FOR Y, y aquí da el error en DbCreate(). No es capaz de crear los ficheros.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

A veces los crea y a veces no.

No parece nada fiable la emulación de la "memory card", por parte del emulador. Estamos probando con el WM2003
Last edited by Antonio Linares on Wed Jan 16, 2008 6:22 pm, edited 1 time in total.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Code: Select all

#include "FWCE.ch" 

REQUEST DBFCDX 

function Main() 

   local oWnd 

   DEFINE WINDOW oWnd 
   
   ACTIVATE WINDOW oWnd ON INIT Pruebas() ON CLICK oWnd:End() 

return nil

function Pruebas 

   LOCAL cFile := SPACE( 20 ) 
   LOCAL cAlias:= SPACE( 20 ) 
   LOCAL x, cDir := "\Storage Card\Prueba\" 

   MsgInfo( "Comenzamos en " + cDir ) 

   IF ! FILE( cDir ) 
      lMkDir( cDir ) 
   ENDIF 

   FOR X := 1 TO 80 
      cFile := cDir + ALLTRIM(STR(X)) + ".dbf" 
      DBCREATE( cFile, {{"Uno","C",10,0}} ) 
   NEXT X 
   MsgInfo( "Creados correctamente " + alltrim( str( x - 1 ) ) ) 

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
tsales
Posts: 186
Joined: Sat Oct 08, 2005 7:32 am

Post by tsales »

Antonio
Con tu ejemplo, creados 46 ficheros y ...

Image

Saludos
Toni Sales
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Toni,

Esa es la cuestión: que a veces los crea todos, a veces solo unos cuantos y no siempre la misma cantidad.

Que solución podemos darle a eso ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
pymsoft
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia
Contact:

Post by pymsoft »

Antonio,

Me vino la curiosidad e hice una prueba.

Me creó todos los archivos (las primeras 5 veces)

Luego aumenté la cantidad de archivos a crear a 300.

Ahi comienzan los errores.

prueba 1 = 225 archivos
prueba 2 = 153 archivos
prueba 3 = 290 archivos
prueba 4 = 270 archivos

Uso Microsoft Device Emulator V2
8.0.60801.00
WM5


Saludos
Pedro Gonzalez
User avatar
pymsoft
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia
Contact:

Post by pymsoft »

Otra prueba,

Reinicié el emulador (WM5), hice 10 veces la prueba, en todas me creó 300 archivos....


Otra prueba con WM6, me crea 300 archivos...
Otra prueba mas, con Pocket PC 2003 second edition, 300 archivos creados...
Pedro Gonzalez
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Parece un asunto del emulador, no de Harbour
regards, saludos

Antonio Linares
www.fivetechsoft.com
tsales
Posts: 186
Joined: Sat Oct 08, 2005 7:32 am

Post by tsales »

Antonio / Pedro

Es cierto que parece un error del Emulador. Lo curioso es que sucede lo mismo con el Dbusearea(), aun existiendo los ficheros, es decir sin hacer DbCreate.
No se me ocurren mas pruebas. Tendremos que ajustarnos a lo que funciona correctamente y usar en Memoria el uso de ficheros.

Saludos
Toni Sales
Post Reply