Page 1 of 2

Problemas con los indices.

Posted: Wed Jul 04, 2007 5:26 pm
by jrestojeda
Tengo un problema con los Indices al abrir las DBFs
Estoy probando lo siguiente:

Use ("C:\Datos\Stock") VIA "DBFNTX"

Como debo hacer para levantar indices ya creados anteriormente ya que debo grabar _ de la base, y actualizarlos.

Con FiveWin yo hacia lo siguiente

//////////////////////////////////////////////////////////////////
Local oDbf

USE Stock Index Stock01,Stock02 NEW
DATABASE oDbf

//////////////////////////////////////////////////////////////////

El tema es que me genera un error si utilizo DATABASE para generar el objeto.
En FWPPC hay alguna forma de reemplazar esto?
Y hay alguna ayuda escrita de como programar con FWPPC?

Posted: Wed Jul 04, 2007 6:40 pm
by Antonio Linares
En el Pocket PC no existe la unidad C:, etc. tienes que usar CurDir():

USE ( CurDir() + "\Stock" ) VIA "DBFNTX"

Que error te dá al usar DATABASE oDbf ?

Posted: Wed Jul 04, 2007 6:59 pm
by jrestojeda
Antonio Gracias por la respuesta probé lo siguiente:

USE ("\\NOMBRE_DE_PC_DE_RED\Datos\Stock.dbf") VIA "DBFNTX" NEW
DATABASE oDBf

El error que me tira es el siguiente:
//////////////////////////////////////////////////////////////////////////
FiveCe.lib (DATABASE.OBJ): Error LNK2001 unresolved external simbol "void__cdecl HB_FUN_unsitooem(void)" (?HB_FUN_oemtoansi@@yaxxz)
/////////////////////////////////////////////////////////////////////////

En el foro encontré que para los .ntx proponías usar lo siguiente:

USE (Curdir()+'\Bases\'+("Clientes.dbf") INDEX "Index1.ntx" NEW

en el caso de que los índices ya están creados, como yo ya tengo creados los indices ntx, lo probé, pero me tira un error de apertura.

La base de datos logré abrirla correctamente, el problema surge cuando quiero manejarla como objeto (DATABASE oDbf) o asociarle indices ya creados.
Tambien logré crear índices pero de todas maneras no puedo usarlos.
Desde ya muchas gracias.

Posted: Wed Jul 04, 2007 7:02 pm
by jrestojeda
Antonio te molesto de nuevo...necesito incluir algun REQUEST??
Vi en algun lado que para los .cdx incluian REQUEST DBFCDX.

O necesito indicarle en algun lado del programa que voy a utilizar indices .NTX??

Gracias nuevamente, Esteban.

Posted: Wed Jul 04, 2007 8:36 pm
by Antonio Linares
Esteban,

Este ejemplo está funcionando correctamente aqui:

Code: Select all

#include "FWCE.ch"

function Main()

   local oDbf

   USE ( CurDir() + "\customer" ) VIA "DBFNTX"

   DATABASE oDbf

   MsgInfo( Alias() + ", " + RddName() )

return nil
De que fecha es el FWPPC que estás usando ?

Posted: Wed Jul 04, 2007 8:48 pm
by jrestojeda
Ok, la versión que estoy utilizando te la compró Jorge Jaurena, yo estoy trabajando para el, y no se si hubo alguna actualizacón, Jorge Jaurena te compró el FWPPC hace mas o menos un año, pero recien hace poco tiempo empezamos a intentar desarrollar aplicaciones.
Si hay alguna actualización de FWPPC disponible como hay que hacer para bajarla?
Desde ya muchas gracias.
Saludos Esteban Ojeda

Posted: Wed Jul 04, 2007 9:03 pm
by Antonio Linares
Esteban,

Te enviamos un email

Posted: Wed Jul 04, 2007 9:04 pm
by jrestojeda
Me olvidé de aclararte que el error que me está tirando es cuando quiero elnlazar.
El ejemplo q me enviaste también me tira el mismo error.
Puede ser que me esté faltando algo?

Estoy complilando de la siguiente manera:

@ECHO OFF
CLS
DEL Compilar.log

ECHO Compiling...

ECHO ** COMPILO DE PRG A C *********************************
HARBOUR INICIO /n /i /p %2 %3 >>COMPILAR.LOG
echo --------------------------------------------------------------------------- >>COMPILAR.LOG
echo . >>COMPILAR.LOG
echo . >>COMPILAR.LOG
ECHO ************************************************************
ECHO ********** COMPILO DE C A OBJ *************************

CLARM -TP -W3 -c /DARM /DUNICODE /I C:\HARBOUR_ce\include /I..\include INICIO.c >>COMPILAR.LOG
echo --------------------------------------------------------------------------- >>COMPILAR.LOG
ECHO ************************************************************
PAUSE

Complila bien si errores.

Y enlazo de la siguiente manera:

DEL LIN.TMP

echo C:\WPSIngresoStock\RESOURCE\INGRESO.res >> LIN.TMP
echo C:\WPSIngresoStock\OBJ\INICIO.obj >> LIN.TMP

echo C:\FWPPC\lib\FiveCE.lib C:\FWPPC\lib\FiveCEC.lib >> LIN.TMP
echo C:\harbour_CE\lib\rtl.lib >> LIN.TMP
echo C:\harbour_CE\lib\vm.lib >> LIN.TMP
echo C:\harbour_CE\lib\gtwin.lib >> LIN.TMP
echo C:\harbour_CE\lib\lang.lib >> LIN.TMP
echo C:\harbour_CE\lib\macro.lib >> LIN.TMP
echo C:\harbour_CE\lib\rdd.lib >> LIN.TMP
echo C:\harbour_CE\lib\dbfntx.lib >> LIN.TMP
echo C:\harbour_CE\lib\dbfcdx.lib >> LIN.TMP
echo C:\harbour_CE\lib\dbffpt.lib >> LIN.TMP
echo C:\harbour_CE\lib\hbsix.lib >> LIN.TMP
echo C:\harbour_CE\lib\debug.lib >> LIN.TMP
echo C:\harbour_CE\lib\common.lib >> LIN.TMP
echo C:\harbour_CE\lib\pp.lib >> LIN.TMP
echo C:\harbour_CE\lib\codepage.lib >> LIN.TMP

echo C:\VCE\lib\arm\coredll.lib >> LIN.TMP
echo C:\VCE\lib\arm\corelibc.lib >> LIN.TMP
echo C:\VCE\lib\arm\aygshell.lib >> LIN.TMP
echo C:\VCE\lib\arm\ws2.lib >> LIN.TMP
echo C:\VCE\lib\arm\mfcce400.lib >> LIN.TMP
echo C:\VCE\lib\arm\ole32.lib >> LIN.TMP
echo C:\VCE\lib\arm\ceshell.lib >> LIN.TMP
echo C:\VCE\lib\arm\commctrl.lib >> LIN.TMP
echo C:\VCE\lib\arm\wininet.lib >> LIN.TMP

C:\VCE\bin\link @LIN.TMP /SUBSYSTEM:WINDOWSCE,4.20 /MACHINE:ARM

PAUSE

El error del que te hablaba en mensajes anteriores se produce cuando enlazo.

Gracias y disculpame las molestias ocasionadas
Saludos Esteban

Posted: Wed Jul 04, 2007 10:11 pm
by Antonio Linares
>
FiveCe.lib (DATABASE.OBJ): Error LNK2001 unresolved external simbol "void__cdecl HB_FUN_unsitooem(void)" (?HB_FUN_oemtoansi@@yaxxz)
>

El error no será HB_FUN_ANSITOOEM(void) ? En mayúsculas

Posted: Thu Jul 05, 2007 2:25 pm
by jrestojeda
Si si ese es el error. Porque puede ser? :?:

Posted: Thu Jul 05, 2007 2:51 pm
by Antonio Linares
Añade esta función a tu PRG principal:

Code: Select all

function AnsiToOem( cTexto )

return cTexto

Posted: Thu Jul 05, 2007 4:05 pm
by nolgiati
Antonio no se que estoy haciendo mal porque sigue tirando el mismo error, esta es la manera en que agregue la funcion en mi main():

***************************************************
#include "FWCE.ch"

REQUEST HB_LANG_ESWIN

// DEFINICION DE COLORES /////////////////////////////////////////////////////////////
#Define Negro 0
#Define Azul 8388608
#Define AzulB 16711680
#Define Verde 32768
#Define VerdeB 65280
#Define Celeste 8421376
#Define CelesteB 16776960
#Define Rojo 128
#Define RojoB 255
#Define Magenta 8388736
#Define MagentaB 16711935
#Define Marron 32896
#Define Gris 8421504
#Define GrisB 12632256
#Define Amarillo 65535
#Define Blanco 16777215
//

STATIC oWnd

// FUNCION MAIN /////////////////////////////////////////////////////////////////////
Function Main()
Local oBmp,oCursor1,oBar,cTexto,oDbf
Local Datos:="\\PIII\C\WPSDatos\"

LandScape()
HB_LANGSELECT("ESWIN")
SET DELETED ON
SET DATE TO FREN
*SET SOFTSEEK ON
SET CENTURY ON
SET EPOCH TO 2000
*SET DEFAULT TO &Datos

AnsiToOem(cTexto)
USE (Datos+"STOCK.DBF") VIA "DBFNTX" NEW
DATABASE oDbf

Stock->(DbGoTop())

DEFINE BITMAP oBmp NAME 'Five'

DEFINE WINDOW oWnd TITLE "Inventario"

ACTIVATE WINDOW oWnd ;
ON PAINT oWnd:SayBitmap(60,10,oBmp);
ON INIT Control()

Portrait()
DBCLOSEALL()
oBmp:End()
Return Nil
//

// FUNCION ANSI //
Function AnsiToOem(cTexto)

Return cTexto
//


Gracias de nuevo.

Posted: Thu Jul 05, 2007 4:06 pm
by nolgiati
Antonio no se que estoy haciendo mal porque sigue tirando el mismo error, esta es la manera en que agregue la funcion en mi main():

***************************************************
#include "FWCE.ch"

REQUEST HB_LANG_ESWIN

// DEFINICION DE COLORES /////////////////////////////////////////////////////////////
#Define Negro 0
#Define Azul 8388608
#Define AzulB 16711680
#Define Verde 32768
#Define VerdeB 65280
#Define Celeste 8421376
#Define CelesteB 16776960
#Define Rojo 128
#Define RojoB 255
#Define Magenta 8388736
#Define MagentaB 16711935
#Define Marron 32896
#Define Gris 8421504
#Define GrisB 12632256
#Define Amarillo 65535
#Define Blanco 16777215
//

STATIC oWnd

// FUNCION MAIN /////////////////////////////////////////////////////////////////////
Function Main()
Local oBmp,oCursor1,oBar,cTexto,oDbf
Local Datos:="\\PIII\C\WPSDatos\"

LandScape()
HB_LANGSELECT("ESWIN")
SET DELETED ON
SET DATE TO FREN
*SET SOFTSEEK ON
SET CENTURY ON
SET EPOCH TO 2000
*SET DEFAULT TO &Datos

AnsiToOem(cTexto)
USE (Datos+"STOCK.DBF") VIA "DBFNTX" NEW
DATABASE oDbf

Stock->(DbGoTop())

DEFINE BITMAP oBmp NAME 'Five'

DEFINE WINDOW oWnd TITLE "Inventario"

ACTIVATE WINDOW oWnd ;
ON PAINT oWnd:SayBitmap(60,10,oBmp);
ON INIT Control()

Portrait()
DBCLOSEALL()
oBmp:End()
Return Nil
//

// FUNCION ANSI //
Function AnsiToOem(cTexto)

Return cTexto
//


Gracias de nuevo.

Posted: Thu Jul 05, 2007 4:46 pm
by Antonio Linares
Que error exactamente te da ?

Posted: Thu Jul 05, 2007 5:09 pm
by nolgiati
El error es el siguiente:

FiveCE.lib(DATABASE.obj) : error LNK2001: unresolved external symbol "void __cdecl HB_FUN_EOMTOANSI(void)" (?HB_FUN_EOMTOANSI@@YAXXZ)
INVENTARIO.exe : fatal errorLNK1120: 1 unresolved externals

Slds!