Page 1 of 1

RC con FWPPC

Posted: Tue Apr 24, 2007 12:33 pm
by Andrés González
La verdad hasta ahora nunca habia empleado recursos en FWPPC. Pero viendo el mensaje de los codigos de barra me he animado a probarlo y me da un error utilizando el UESTUDIO que has propuesto con las modificaciones para utilizar FWPPC Ver 1.0. El error es el siguiente:
--------------------Configuración: Barcode - Debug--------------------
Harbour Compiler Alpha build 45.0 (Flex)
Copyright 1999-2005, http://www.harbour-project.org/
Microsoft (R) C/C++ Optimizing Compiler Version 12.20.9615 for ARM
Copyright (C) Microsoft Corp 1984-2002. All rights reserved.

bctest.c
Harbour Compiler Alpha build 45.0 (Flex)
Copyright 1999-2005, http://www.harbour-project.org/
Microsoft (R) C/C++ Optimizing Compiler Version 12.20.9615 for ARM
Copyright (C) Microsoft Corp 1984-2002. All rights reserved.

Barcode.c


RC : fatal error RC1106 : invalid option: -32


Creating library bctest.lib and object bctest.exp
vm.lib(hvm.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x00035C78
rdd.lib(dbf1.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x0008C4B0
dbfntx.lib(dbfntx1.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x00099EFC
dbffpt.lib(dbffpt1.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x000AF9D8
Barcode.EXE - 1 error(es), 4 advertencia(s)


Se sigue utilizando de igual forma supongo, basta con añadir el fichero .RC al proyecto o hay que modificar algo.

El RC es el siguiente como se ha puesto antes....

Code: Select all | Expand

#ifdef _CE
#include "g:\fwppc\vce2003\include\arm\windows.h"
#include "g:\fwppc\vce2003\include\arm\commctrl.h"
#endif


BARCODETEST DIALOG 11, 7, 252, 135
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Barcodes in a Dialog"
FONT 6, "MS Sans Serif"
{
PUSHBUTTON "&Cancel", 101, 192, 4, 54, 14
EDITTEXT 102, 11, 27, 94, 26
}


Donde encuentro un help con los errores del RC

Sin el RC el programa funciona y muestra el codigo de barra en la pantalla principal. Pero eso si no funciona el boton que muestra el dialogo desde recursos.

Posted: Tue Apr 24, 2007 12:35 pm
by Antonio Linares
Andrés,

Quita la opción -32 del fichero de configuración del FWPPC para UEStudio

Posted: Tue Apr 24, 2007 12:55 pm
by Andrés González
He quitado -32 y lo he dejado asi el fichero aplication
[.RC]
Out = $In.res
Cmd0 = rc -r -fo$O $I




Pero me genera este error:
--------------------Configuración: Barcode - Debug--------------------
Harbour Compiler Alpha build 45.0 (Flex)
Copyright 1999-2005, http://www.harbour-project.org/
Microsoft (R) C/C++ Optimizing Compiler Version 12.20.9615 for ARM
Copyright (C) Microsoft Corp 1984-2002. All rights reserved.

bctest.c
Harbour Compiler Alpha build 45.0 (Flex)
Copyright 1999-2005, http://www.harbour-project.org/
Microsoft (R) C/C++ Optimizing Compiler Version 12.20.9615 for ARM
Copyright (C) Microsoft Corp 1984-2002. All rights reserved.

Barcode.c
G:\FWPPC\UESTUDIO\Barcode\Barcode.rc (8): error RC2104 : undefined keyword or key name: DS_MODALFRAME






Creating library bctest.lib and object bctest.exp
vm.lib(hvm.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x00035C78
rdd.lib(dbf1.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x0008C4B0
dbfntx.lib(dbfntx1.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x00099EFC
dbffpt.lib(dbffpt1.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x000AF9D8
Barcode.EXE - 1 error(es), 4 advertencia(s)


Pero he revisado el Buildce y he sustituido por lo que pone en el, que si funciona. He tenido que añadir -d_CE.

[.RC]
Out = $In.res
Cmd0 = rc -r -d_CE -fo$O $I


Ahora tengo problemas con los includes del windows.h. Supongo que en algun sitio se tienen que definir.



--------------------Configuración: Barcode - Debug--------------------
Harbour Compiler Alpha build 45.0 (Flex)
Copyright 1999-2005, http://www.harbour-project.org/
Microsoft (R) C/C++ Optimizing Compiler Version 12.20.9615 for ARM
Copyright (C) Microsoft Corp 1984-2002. All rights reserved.

bctest.c
Harbour Compiler Alpha build 45.0 (Flex)
Copyright 1999-2005, http://www.harbour-project.org/
Microsoft (R) C/C++ Optimizing Compiler Version 12.20.9615 for ARM
Copyright (C) Microsoft Corp 1984-2002. All rights reserved.

Barcode.c
g:\fwppc\vce2003\include\arm\windows.h(27) : fatal error RC1015: cannot open include file 'windef.h'.
Creating library bctest.lib and object bctest.exp
vm.lib(hvm.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x00035C78
rdd.lib(dbf1.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x0008C4B0
dbfntx.lib(dbfntx1.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x00099EFC
dbffpt.lib(dbffpt1.obj) : warning LNK1166: cannot adjust code at offset=0x00001000, rva=0x000AF9D8
Barcode.EXE - 1 error(es), 4 advertencia(s)

Posted: Tue Apr 24, 2007 1:10 pm
by Andrés González
Vale, ya esta. En el fichero aplicacion tienes puesto un include erroneo. En vez de:
INCLUDE = $(HPATH)\INCLUDE;$(CPATH)\ARM\INCLUDE\;$(FWPPC)\INCLUDE;


Tienes que cambiar ARM\INCLUDE por INCLUDE\ARM que es como esta dividido el fichero.

Code: Select all | Expand

INCLUDE = $(HPATH)\INCLUDE;$(CPATH)\INCLUDE\ARM;$(FWPPC)\INCLUDE;


Asi funciona a la perfeccion.

Posted: Tue Apr 24, 2007 1:23 pm
by Andrés González
Pero apesar de crearlo todo correctamente me presenta tanto en el emulador como en mi hp6515 un mensaje que pone:

Can't create dialogBox


el mismo que cuando no incluia el RC.

¿Como puedo saber si el RC esta incluido en el EXE?.

He mirado lo que ocupa el exe sin el RC y me ocupa lo mismo, algo me indica que no ha enlazado el RC.

Posted: Tue Apr 24, 2007 5:27 pm
by Antonio Linares
Andrés,

Tienes que modificar esta línea en el fichero de configuración:

Cmd0 = LINK $(LOPT) $FGO $(LIBS) $FGR

Así ya tiene que funcionarte bien con los cambios que has hecho antes :-)

Posted: Wed Apr 25, 2007 5:24 am
by Andrés González
Gracias nuevamente Antonio, ahora sí parece que enlaza el RC, antes genereaba el RES pero no lo enlazaba. Ahora me da una serie de errores al ejecutar el dialogo, pero parece que son consas que le faltan. Voy a revisarlo.