FWPPC and HP IPAQ 114
FWPPC and HP IPAQ 114
Ola a todos.
Ha 3 dias que estou testando um problema que tenho com Uma pequena aplicacao de gestao de clientes em FWPPC e estou a precisar de uma opiniao ou ajuda.
PDA - HP IPAQ 114 (Processador MarVel(R) PXA310 , WM 6 Classic ).
Aconetece que os indexes nao funcionam. Tenho um ficheiro com 100 clientes ordenados por codigo de 1 a 100 e o dbseek() da sempre .f. em qualquer um. Isto acontece com qualquer tipo de dados ( Numerico ou caraceter ).
Mas se eu colocar a tarjeta num PDA ASUS A636N ( Processador Intel(R) PXA270 com WM 5 ) e reindexar o ficheiro e voltar a colocar no HP ja funciona bem. No ASUS tudo funciona bem. No emulador ( 5 e 6.5 ) tudo funciona bem. Mas no HP se os CDX forem criados com este PDA os DBseek e os Seek nao funcionam.
Este problema esta-me a consumir imenso tempo e parece-me que esta relacionado com o tipo de processador. Mas como tenho pouca experiencia com este tipo de software. Estou com duvidas de sera ou nao do PDA.
Alguem tem este tipo de problema? Conhecem este PDA? Ha alguma dica que possa ajudar?
Muito obrigado por qualquer help..
Regards
Ha 3 dias que estou testando um problema que tenho com Uma pequena aplicacao de gestao de clientes em FWPPC e estou a precisar de uma opiniao ou ajuda.
PDA - HP IPAQ 114 (Processador MarVel(R) PXA310 , WM 6 Classic ).
Aconetece que os indexes nao funcionam. Tenho um ficheiro com 100 clientes ordenados por codigo de 1 a 100 e o dbseek() da sempre .f. em qualquer um. Isto acontece com qualquer tipo de dados ( Numerico ou caraceter ).
Mas se eu colocar a tarjeta num PDA ASUS A636N ( Processador Intel(R) PXA270 com WM 5 ) e reindexar o ficheiro e voltar a colocar no HP ja funciona bem. No ASUS tudo funciona bem. No emulador ( 5 e 6.5 ) tudo funciona bem. Mas no HP se os CDX forem criados com este PDA os DBseek e os Seek nao funcionam.
Este problema esta-me a consumir imenso tempo e parece-me que esta relacionado com o tipo de processador. Mas como tenho pouca experiencia com este tipo de software. Estou com duvidas de sera ou nao do PDA.
Alguem tem este tipo de problema? Conhecem este PDA? Ha alguma dica que possa ajudar?
Muito obrigado por qualquer help..
Regards
Pedro Alexandre C. Bagarrão
Re: FWPPC and HP IPAQ 114
Aqui esta o codigo do teste.
Este prog n funciona no HP IPAQ 114 com WM6 Classic, mas funciona bem no emulador 5 y 6 e no PDA ASUS A636 com WM5.
Tenho algum problema no codigo?
o customer.dbf e o do fwppc\samples.
Qualquer dica, seria importante.
Obrigado
Este prog n funciona no HP IPAQ 114 com WM6 Classic, mas funciona bem no emulador 5 y 6 e no PDA ASUS A636 com WM5.
Tenho algum problema no codigo?
o customer.dbf e o do fwppc\samples.
Qualquer dica, seria importante.
Code: Select all
#include "FWCE.ch"
#include "Directry.ch"
#define SHFS_HIDESIPBUTTON 8
REQUEST DBFCDX
//----------------------------------------------------------------------------//
Procedure Main()
local oWnd, oBrwCli, oBtn1, oBtn2
set century on
set deleted on
set date format to "dd-mm-yyyy"
SET EPOCH TO 2000
Set Default to ( CurDir() )
Abre_File( .f. )
DEFINE WINDOW oWnd TITLE "SeekTest 2.0"
@ 0, 0 LISTBOX oBrwCli ;
FIELDS LTrim(Str(CUSTOMER->SALARY)), CUSTOMER->LAST ;
COLSIZES 50,60 ;
HEADERS "Nº.", "Nome" ;
SIZE 240, 220 ;
OF oWnd ;
ALIAS 'CUSTOMER'
@ 220,0 BTNBMP oBtn1 PROMPT "Pesquisa Numero" SIZE 240, 25 ;
action { Pesq_Cli_Num( oWnd ), oBrwCli:refresh() }
@ 245,0 BTNBMP oBtn2 PROMPT "Pesquisa Nome" SIZE 240, 25 ;
action { Pesq_Cli_Nom( oWnd ), oBrwCli:refresh() }
@ 270,0 BTNBMP oBtn3 PROMPT "Fechar" SIZE 120, 25 ;
action { DbCloseAll(), oWnd:End() }
@ 270,120 BTNBMP oBtn4 PROMPT "Reindex" SIZE 120, 25 ;
action { Abre_File( .t. ), oBrwCli:refresh() }
ACTIVATE WINDOW oWnd ON INIT ( SHFullScreen( GetActiveWindow(), SHFS_HIDESIPBUTTON ) )
Return nil
//=======================================================================================
Function Abre_File( xReorg )
//=======================================================================================
If xReorg
DbCloseAll()
aFile:=Directory("*.CDX")
AEval(aFile,{|aFile| FErase( aFile[F_NAME] ) } )
Endif
USE "Customer" VIA "DBFCDX" NEW
if ! File( "LAST.CDX" )
INDEX ON Last TO "LAST"
endif
if ! File( "SAL.CDX" )
INDEX ON Salary TO "SAL"
endif
SET INDEX TO "SAL" , "LAST"
OrdSetFocus(1)
DbGoTop()
Return Nil
//==================================================================================
Function Pesq_Cli_Num( xParent )
//==================================================================================
Local nPesq := 0, xRecActual
nPesq := BuildGet(.t., xParent )
Customer->( OrdSetFocus( 1 ) )
IF !Empty( nPesq )
if ! CUSTOMER->( DbSeek( nPesq,.t.,2 ))
Msginfo("Cliente Inexistente!","Atenção")
Endif
Endif
Return nil
//==================================================================================
Function Pesq_Cli_Nom( xParent )
//==================================================================================
local oPesCli, nPesq
nPesq := BuildGet(.f., xParent )
Customer->( OrdSetFocus( 2 ) )
If ! Empty( nPesq )
CUSTOMER->( DbSeek( nPesq,.t.,2 ))
Endif
Return nil
//=================================================================
Function BuildGet( xNum, xParent )
//==================================================================================
Local xGet, oGet, oBtn
DEFINE DIALOG oDlg TITLE "Pesquisa" SIZE 240,50
If xNum
xGet := 0
@ 0.2,0 GET oGet VAR xGet Picture "@e 999999" SIZE 60,10
Else
xGet := Space(15)
@ 0.2,0 GET oGet VAR xGet Picture "!!!!!!!!!!!!!!!" SIZE 60,10
Endif
oGet:bGotFocus = { || Showkeyboard() }
oGet:bLostFocus = { || Hidekeyboard() }
@ 15,00 BTNBMP oBtn PROMPT "Pesquisa" SIZE 120, 10 action { oDlg:End() }
ACTIVATE DIALOG oDlg CENTERED
Return xGet
Pedro Alexandre C. Bagarrão
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FWPPC and HP IPAQ 114
Pedro,
Es extraño que funcione en bien en el emulador y en otros Pocket PC y no en ese en concreto.
Prueba a verificar que los indices se crean correctamente y que los ficheros CDX estan en su lugar:
Es extraño que funcione en bien en el emulador y en otros Pocket PC y no en ese en concreto.
Prueba a verificar que los indices se crean correctamente y que los ficheros CDX estan en su lugar:
Code: Select all
if ! File( "LAST.CDX" )
INDEX ON Last TO "LAST"
endif
MsgInfo( File( "LAST.CDX" ) )
if ! File( "SAL.CDX" )
INDEX ON Salary TO "SAL"
endif
MsgInfo( File( "SAL.CDX" ) )
Re: FWPPC and HP IPAQ 114
Antonio. Bom dia.
Os ficheiros estao todos em su lugar.
Quando abro o testeseek o ficheiro nao aparece indexado, mas sim pela sua ordem natural. Ou seja nao esta a ver o index
que lhe esta associado.
Se eu colocar a tarjeta noutro PDA e criar de novo o ficheiros CDX e voltar a colocar a tarjeta no HP, funciona bem.
isto so acontece com os CDX criados neste PDA.
O problema esta com os ficheiros CDX.
Conhece alguma forma de consular o conteudo do ficheiro CDX?
Obrigado.
Os ficheiros estao todos em su lugar.
Quando abro o testeseek o ficheiro nao aparece indexado, mas sim pela sua ordem natural. Ou seja nao esta a ver o index
que lhe esta associado.
Se eu colocar a tarjeta noutro PDA e criar de novo o ficheiros CDX e voltar a colocar a tarjeta no HP, funciona bem.
isto so acontece com os CDX criados neste PDA.
O problema esta com os ficheiros CDX.
Conhece alguma forma de consular o conteudo do ficheiro CDX?
Obrigado.
Pedro Alexandre C. Bagarrão
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FWPPC and HP IPAQ 114
Pedro,
Comprueba el tamaño del fichero CDX, usando la función Directory() de Harbour.
Posiblemente un CDX incorrecto tenga un tamaño distinto al de los que funcionan bien.
Comprueba el tamaño del fichero CDX, usando la función Directory() de Harbour.
Posiblemente un CDX incorrecto tenga un tamaño distinto al de los que funcionan bien.
Re: FWPPC and HP IPAQ 114
Antonio.
Comprovei o tamanho dos ficheiros CDX e de facto eles tem tamanho diferente.
No pocket onde funciona bem o LAST.CDX tem 6.5 KB e o SAL.CDX tem 6 KB.
No pocket onde funciona mal, ambos tem 5 KB.
Se eu copiar os *.CDX com 6.5KB e 6KB para o pocket onde funciona mal, passa a funcionar bem ( com os CDX criados noutro pocket.).
Algo de errado acontece quando se faz a criação do CDX. neste HP Ipaq114.
Ja teve alguma experiencia deste genero?
Cumprimentos...
Comprovei o tamanho dos ficheiros CDX e de facto eles tem tamanho diferente.
No pocket onde funciona bem o LAST.CDX tem 6.5 KB e o SAL.CDX tem 6 KB.
No pocket onde funciona mal, ambos tem 5 KB.
Se eu copiar os *.CDX com 6.5KB e 6KB para o pocket onde funciona mal, passa a funcionar bem ( com os CDX criados noutro pocket.).
Algo de errado acontece quando se faz a criação do CDX. neste HP Ipaq114.
Ja teve alguma experiencia deste genero?
Cumprimentos...
Pedro Alexandre C. Bagarrão
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FWPPC and HP IPAQ 114
Pedro,
Es la primera vez que tenemos noticias de algo asi.
Puedes probarlo con la versión anterior de FWPPC y Harbour ? gracias
Es la primera vez que tenemos noticias de algo asi.
Puedes probarlo con la versión anterior de FWPPC y Harbour ? gracias
Re: FWPPC and HP IPAQ 114
Ola Antonio.
Testar com FWPPC 9.01 e Harbour anterior foi logo os primeiros testes que efectuei. O problema mantem-se.
Ha 4 dias consecutivos que estou a tentar perceber onde esta o problema sem resultados.
Hoje entre os muitos testes que efectuei houve um que me deu um pequeno sinal positivo:
fiz um dbcreate na aplicação em FWPPC e criei um novo ficheio com base no customers.dbf do \FWPPC\samples. ja em WM6 executo o teste e cria um ficheio novo ( dbappend from customers) com dois CDX um numerico e outro Alfa. Assim o novo ficheiro criado em FWPPC o indice numerico trabalha bem ( dbseek funciona bem), mas o alfanumerico não ( dbseek da sempre .f.).
Os emuladores que estou a utilizar é o WM5 e o WM6.5. nestes emuladores tudo trabalha sempre bem. Ja fiz teste num ASUS A636n e noutro HP ambos com WM5 e tudo funciona bem.
Gostaria de testar mesmo no emulador WM6 e noutro Pocket com WM6 ou 6.5.
Tenho a sensação que este modelo HP IPAQ114 tem qualquer aplicação no Windows Mobile que provoca isto.
Algum modulo de encriptação ou algo do genero que interfere com os Indexes.
Tenho alguma espernça que apareça alguem aqui no forum que ja tenha tido alguma experiencia com este modelo.
O meu problema é que comprei 4 PDAs destes para entregar a um cliente, mas vou ter que tentar devolver e trocar por outros.
Vou dando noticias...
De qualquer forma Muito obrigado pelo apoio....
Cumprimentos
Testar com FWPPC 9.01 e Harbour anterior foi logo os primeiros testes que efectuei. O problema mantem-se.
Ha 4 dias consecutivos que estou a tentar perceber onde esta o problema sem resultados.
Hoje entre os muitos testes que efectuei houve um que me deu um pequeno sinal positivo:
fiz um dbcreate na aplicação em FWPPC e criei um novo ficheio com base no customers.dbf do \FWPPC\samples. ja em WM6 executo o teste e cria um ficheio novo ( dbappend from customers) com dois CDX um numerico e outro Alfa. Assim o novo ficheiro criado em FWPPC o indice numerico trabalha bem ( dbseek funciona bem), mas o alfanumerico não ( dbseek da sempre .f.).
Os emuladores que estou a utilizar é o WM5 e o WM6.5. nestes emuladores tudo trabalha sempre bem. Ja fiz teste num ASUS A636n e noutro HP ambos com WM5 e tudo funciona bem.
Gostaria de testar mesmo no emulador WM6 e noutro Pocket com WM6 ou 6.5.
Tenho a sensação que este modelo HP IPAQ114 tem qualquer aplicação no Windows Mobile que provoca isto.
Algum modulo de encriptação ou algo do genero que interfere com os Indexes.
Tenho alguma espernça que apareça alguem aqui no forum que ja tenha tido alguma experiencia com este modelo.
O meu problema é que comprei 4 PDAs destes para entregar a um cliente, mas vou ter que tentar devolver e trocar por outros.
Vou dando noticias...
De qualquer forma Muito obrigado pelo apoio....
Cumprimentos
Pedro Alexandre C. Bagarrão
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FWPPC and HP IPAQ 114
Pedro,
Prueba a llamar a DbCommit() despues de crear los índices:
Prueba a llamar a DbCommit() despues de crear los índices:
Code: Select all
if ! File( "LAST.CDX" )
INDEX ON Last TO "LAST"
endif
if ! File( "SAL.CDX" )
INDEX ON Salary TO "SAL"
endif
DbCommit()
Re: FWPPC and HP IPAQ 114
Ola Antonio.
Depois de mais algumas horas de testes e investigação descobri o seguinte :
Quando o ficheiro CDX é criado pela primeira vez ele fica com 5,0 KB. e o dbseek funciona mal.
Mas se eu fizer um reindex ou OrdListRebuild o CDX passa a ter 9,0 Kb e aqui o dbseek ja funciona.
Qunado faço : index on Cust->Last to "Last" o last.cdx fica com 5,0 KB e dbseek nao funciona
Depois faço : set index to "Last", Costumer->( DbSetOrder(1) ), Customer->( OrdListRebuild() ) e aqui o Last.cdx passa a 9,0KB e o Dbseek começa a funcionar bem.
isto acontece na Store Card e tambem na RAM do Pocket.
existe aqui um problema na criação dos CDX.
tambem constatei que por vezes ocorre este erros que ficam no hb_out:
------------------------------------------------------------------------
Application Internal Error - \Storage Card\TESTSEEK.exe
Terminated at: 2010.03.01 10:20:57
Unrecoverable error 1011: Write in index page failed.
Called from ORDCREATE(0)
Called from DBCREATEINDEX(0) in ../../../rddord.prg
Called from ABRE_FILE(85) in TESTSEEK.PRG
Called from MAIN(19) in TESTSEEK.PRG
------------------------------------------------------------------------
Application Internal Error - \Storage Card\TESTSEEK.exe
Terminated at: 2010.03.01 10:22:17
Unrecoverable error 1011: Write in index page failed.
Called from ORDCREATE(0)
Called from DBCREATEINDEX(0) in ../../../rddord.prg
Called from ABRE_FILE(85) in TESTSEEK.PRG
Called from MAIN(19) in TESTSEEK.PRG
------------------------------------------------------------------------
Boa Noite
Que poderei fazer para evitar isto?
Depois de mais algumas horas de testes e investigação descobri o seguinte :
Quando o ficheiro CDX é criado pela primeira vez ele fica com 5,0 KB. e o dbseek funciona mal.
Mas se eu fizer um reindex ou OrdListRebuild o CDX passa a ter 9,0 Kb e aqui o dbseek ja funciona.
Qunado faço : index on Cust->Last to "Last" o last.cdx fica com 5,0 KB e dbseek nao funciona
Depois faço : set index to "Last", Costumer->( DbSetOrder(1) ), Customer->( OrdListRebuild() ) e aqui o Last.cdx passa a 9,0KB e o Dbseek começa a funcionar bem.
isto acontece na Store Card e tambem na RAM do Pocket.
existe aqui um problema na criação dos CDX.
tambem constatei que por vezes ocorre este erros que ficam no hb_out:
------------------------------------------------------------------------
Application Internal Error - \Storage Card\TESTSEEK.exe
Terminated at: 2010.03.01 10:20:57
Unrecoverable error 1011: Write in index page failed.
Called from ORDCREATE(0)
Called from DBCREATEINDEX(0) in ../../../rddord.prg
Called from ABRE_FILE(85) in TESTSEEK.PRG
Called from MAIN(19) in TESTSEEK.PRG
------------------------------------------------------------------------
Application Internal Error - \Storage Card\TESTSEEK.exe
Terminated at: 2010.03.01 10:22:17
Unrecoverable error 1011: Write in index page failed.
Called from ORDCREATE(0)
Called from DBCREATEINDEX(0) in ../../../rddord.prg
Called from ABRE_FILE(85) in TESTSEEK.PRG
Called from MAIN(19) in TESTSEEK.PRG
------------------------------------------------------------------------
Boa Noite
Que poderei fazer para evitar isto?
Pedro Alexandre C. Bagarrão
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FWPPC and HP IPAQ 114
Pedro,
Esos errores tambien los da funcionando en la ram del Pocket ?
Esos errores tambien los da funcionando en la ram del Pocket ?
Re: FWPPC and HP IPAQ 114
Antonio. Bom dia...
Sim estes erros acontecem tambem quando trabalha na RAM do Pocket.
Mesmo fazendo um reindex ou OrdlistRebuils as coisa melhoram mas nao fica a 100 %. na maior parte da vezes os CDX aumentam de tamanho, mas nem sempre isso aconetce.
Se eu colocar a tarjeta no pocket ASUS e borrar os CDX e voltar a criar, os CDX ficam com mais bytes e tudo passa a funcionar bem. Depois se eu colocar de novo a tarjeta no IPAQ114 enquanto tiver os CDX criados no ASUS, tambem trabalha bem, mas quando for necessario crear de novo os CDX volta a funcionar mal.
Cumprimentos.
Sim estes erros acontecem tambem quando trabalha na RAM do Pocket.
Mesmo fazendo um reindex ou OrdlistRebuils as coisa melhoram mas nao fica a 100 %. na maior parte da vezes os CDX aumentam de tamanho, mas nem sempre isso aconetce.
Se eu colocar a tarjeta no pocket ASUS e borrar os CDX e voltar a criar, os CDX ficam com mais bytes e tudo passa a funcionar bem. Depois se eu colocar de novo a tarjeta no IPAQ114 enquanto tiver os CDX criados no ASUS, tambem trabalha bem, mas quando for necessario crear de novo os CDX volta a funcionar mal.
Cumprimentos.
Pedro Alexandre C. Bagarrão
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FWPPC and HP IPAQ 114
Pedro,
Es la primera vez que vemos un problema asi.
La única solución, por ahora, seria usar otro modelo de Pocket PC que no sea ese.
Es la primera vez que vemos un problema asi.
La única solución, por ahora, seria usar otro modelo de Pocket PC que no sea ese.
Re: FWPPC and HP IPAQ 114
Tengo un problema parecido con una hp ipaq 116.
En el emulador funciona perfectaente el seek, pero en el pda no.
El programa usa archivos dbf locales y borar los indices y luego los crea cada vez que se inica la aplicacion, pensando que era un problema de creacion de indices los cree en el emulador y luego los copie al pda y funcionan bien.
Ya hemos comprado 16 de estas maquinas, asi que debo solventar el problema de los indices.
En el emulador funciona perfectaente el seek, pero en el pda no.
El programa usa archivos dbf locales y borar los indices y luego los crea cada vez que se inica la aplicacion, pensando que era un problema de creacion de indices los cree en el emulador y luego los copie al pda y funcionan bien.
Ya hemos comprado 16 de estas maquinas, asi que debo solventar el problema de los indices.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: FWPPC and HP IPAQ 114
Simon,
No uses los ficheros en la tarjeta de memoria (no se si es el caso).
Copia los ficheros a una carpeta del dispositivo. Hemos detectado que el funcionamiento de los ficheros en la tarjeta de memoria no siempre va bien, sin embargo funciona bien en la memoria del aparato.
No uses los ficheros en la tarjeta de memoria (no se si es el caso).
Copia los ficheros a una carpeta del dispositivo. Hemos detectado que el funcionamiento de los ficheros en la tarjeta de memoria no siempre va bien, sin embargo funciona bien en la memoria del aparato.