In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Llamada a XA_DrawParentBackground() desde un componente
-
- Mensajes: 11
- Registrado: Mar Abr 12, 2011 5:21 pm
Llamada a XA_DrawParentBackground() desde un componente
Ignacio, José,
Estoy desarrollando un componente que hace una llamada a
XA_DrawParentBackground() desde PRG, el correspondiente "Wrapper"
figura en la propia DLL. Desde programación funciona correctamente, sin
embargo desde el IDE, al añadir el componente, que por defecto tiene
lTransparent a .T., falla y muestra el siguiente error:
XA_DRAWPARENTBACKGROUND(0)
Error BASE/1001 Undefined function: XA_DRAWPARENTBACKGROUND
Entiendo que es debido a que el "wrapper" de la función no está
declarada en el IDE.
¿Hay alguna forma de llamar o declarar la función desde PRG para que
funcione correctamente o tendríais que añadirla al IDE?
Un saludo,
Alberto
--
Estoy desarrollando un componente que hace una llamada a
XA_DrawParentBackground() desde PRG, el correspondiente "Wrapper"
figura en la propia DLL. Desde programación funciona correctamente, sin
embargo desde el IDE, al añadir el componente, que por defecto tiene
lTransparent a .T., falla y muestra el siguiente error:
XA_DRAWPARENTBACKGROUND(0)
Error BASE/1001 Undefined function: XA_DRAWPARENTBACKGROUND
Entiendo que es debido a que el "wrapper" de la función no está
declarada en el IDE.
¿Hay alguna forma de llamar o declarar la función desde PRG para que
funcione correctamente o tendríais que añadirla al IDE?
Un saludo,
Alberto
--
Llamada a XA_DrawParentBackground() desde un componente
Alberto,
> Estoy desarrollando un componente que hace una llamada a
> XA_DrawParentBackground() desde PRG, el correspondiente "Wrapper"
No necesitas hacer ningún wrapper para usar la función, basta conque
incluyas <xailer.h> y la utilices como cualquier otra.
Saludos,
José Lalín
> Estoy desarrollando un componente que hace una llamada a
> XA_DrawParentBackground() desde PRG, el correspondiente "Wrapper"
No necesitas hacer ningún wrapper para usar la función, basta conque
incluyas <xailer.h> y la utilices como cualquier otra.
Saludos,
José Lalín
-
- Mensajes: 11
- Registrado: Mar Abr 12, 2011 5:21 pm
Llamada a XA_DrawParentBackground() desde un componente
Hola José,
> > Estoy desarrollando un componente que hace una llamada a
> > XA_DrawParentBackground() desde PRG, el correspondiente "Wrapper"
>
> No necesitas hacer ningún wrapper para usar la función, basta conque
> incluyas <xailer.h> y la utilices como cualquier otra.
>
> Saludos,
> José Lalín
Me sigue diciendo que función no definida.
¿Estás seguro que tiene que funcionar?. Te recuerdo que la llamada se
realiza desde código PRG, no C, desde una DLL que llama el IDE de
Xailer.
Saludos,
Alberto A.T.
--
> > Estoy desarrollando un componente que hace una llamada a
> > XA_DrawParentBackground() desde PRG, el correspondiente "Wrapper"
>
> No necesitas hacer ningún wrapper para usar la función, basta conque
> incluyas <xailer.h> y la utilices como cualquier otra.
>
> Saludos,
> José Lalín
Me sigue diciendo que función no definida.
¿Estás seguro que tiene que funcionar?. Te recuerdo que la llamada se
realiza desde código PRG, no C, desde una DLL que llama el IDE de
Xailer.
Saludos,
Alberto A.T.
--
Llamada a XA_DrawParentBackground() desde un componente
Alberto,
> Me sigue diciendo que función no definida.
¿La DLL se crea correctamente?
> ¿Estás seguro que tiene que funcionar?. Te recuerdo que la llamada se
> realiza desde código PRG, no C, desde una DLL que llama el IDE de
> Xailer.
Entendido. ¿Cómo estás haciendo el wrapper?
Saludos,
José Lalín
> Me sigue diciendo que función no definida.
¿La DLL se crea correctamente?
> ¿Estás seguro que tiene que funcionar?. Te recuerdo que la llamada se
> realiza desde código PRG, no C, desde una DLL que llama el IDE de
> Xailer.
Entendido. ¿Cómo estás haciendo el wrapper?
Saludos,
José Lalín
-
- Mensajes: 11
- Registrado: Mar Abr 12, 2011 5:21 pm
Llamada a XA_DrawParentBackground() desde un componente
Jose,
> > Me sigue diciendo que función no definida.
>
> ¿La DLL se crea correctamente?
>
> > ¿Estás seguro que tiene que funcionar?. Te recuerdo que la llamada
> > se realiza desde código PRG, no C, desde una DLL que llama el IDE de
> > Xailer.
>
> Entendido. ¿Cómo estás haciendo el wrapper?
El código es el que te indico a continuación, lo puso José F. Gimenez,
y desde la .LIB funciona correctamente.
#pragma BEGINDUMP
#include <windows.h>
#include <xailer.h>
//---------------------------------------------------------- ------------
----
XA_FUNC( XA_DRAWPARENTBACKGROUND )
{
XA_DrawParentBackground( (HWND) hb_parnl( 1 ), (HDC) hb_parnl( 2 ),
NULL );
hb_ret();
}
#pragma ENDDUMP
//---------------------------------------------------------- ------------
----
Por otro lado una llamada a Type('XA_DrawParentBackground()') devuelve
'U', en la DLL y 'UI' en la LIB.
Un saludo y gracias por tu tiempo
Alberto
> > Me sigue diciendo que función no definida.
>
> ¿La DLL se crea correctamente?
>
> > ¿Estás seguro que tiene que funcionar?. Te recuerdo que la llamada
> > se realiza desde código PRG, no C, desde una DLL que llama el IDE de
> > Xailer.
>
> Entendido. ¿Cómo estás haciendo el wrapper?
El código es el que te indico a continuación, lo puso José F. Gimenez,
y desde la .LIB funciona correctamente.
#pragma BEGINDUMP
#include <windows.h>
#include <xailer.h>
//---------------------------------------------------------- ------------
----
XA_FUNC( XA_DRAWPARENTBACKGROUND )
{
XA_DrawParentBackground( (HWND) hb_parnl( 1 ), (HDC) hb_parnl( 2 ),
NULL );
hb_ret();
}
#pragma ENDDUMP
//---------------------------------------------------------- ------------
----
Por otro lado una llamada a Type('XA_DrawParentBackground()') devuelve
'U', en la DLL y 'UI' en la LIB.
Un saludo y gracias por tu tiempo
Alberto
Llamada a XA_DrawParentBackground() desde un componente
Alberto,
> XA_FUNC( XA_DRAWPARENTBACKGROUND )
prueba así:
HB_FUNC( XA_DRAWPARENTBACKGROUND )
Saludos,
José Lalín
> XA_FUNC( XA_DRAWPARENTBACKGROUND )
prueba así:
HB_FUNC( XA_DRAWPARENTBACKGROUND )
Saludos,
José Lalín
-
- Mensajes: 11
- Registrado: Mar Abr 12, 2011 5:21 pm
Llamada a XA_DrawParentBackground() desde un componente
José,
>
> > XA_FUNC( XA_DRAWPARENTBACKGROUND )
>
> prueba así:
>
> HB_FUNC( XA_DRAWPARENTBACKGROUND )
>
Sigue dando el mismo error:
XA_DRAWPARENTBACKGROUND(0)
Error BASE/1001 Undefined function: XA_DRAWPARENTBACKGROUND
Sin embargo, si uso el siguiente código para la transparencia
if Type('XA_DrawParentBackground()')=='U'
:FillRect( aRect, ::GetClrBackground( ::oParent ) )
else
XA_DrawParentBackground( ::Handle, hdc )
endif
con una imagen de fondo desde el IDE me muestra el color de fondo del
padre, mientras que en el ejecutable, que enlaza la LIB se ve
completamente la imagen. ::GetClrBackground() es un método propio para
obtener el color del padre o su antecesor si es transparente.
Un saludo,
Alberto
>
> > XA_FUNC( XA_DRAWPARENTBACKGROUND )
>
> prueba así:
>
> HB_FUNC( XA_DRAWPARENTBACKGROUND )
>
Sigue dando el mismo error:
XA_DRAWPARENTBACKGROUND(0)
Error BASE/1001 Undefined function: XA_DRAWPARENTBACKGROUND
Sin embargo, si uso el siguiente código para la transparencia
if Type('XA_DrawParentBackground()')=='U'
:FillRect( aRect, ::GetClrBackground( ::oParent ) )
else
XA_DrawParentBackground( ::Handle, hdc )
endif
con una imagen de fondo desde el IDE me muestra el color de fondo del
padre, mientras que en el ejecutable, que enlaza la LIB se ve
completamente la imagen. ::GetClrBackground() es un método propio para
obtener el color del padre o su antecesor si es transparente.
Un saludo,
Alberto
Llamada a XA_DrawParentBackground() desde un componente
Alberto,
HB_FUNC_STATIC( XA_DRAWPARENTBACKGROUND )
Saludos,
José Lalín
HB_FUNC_STATIC( XA_DRAWPARENTBACKGROUND )
Saludos,
José Lalín
-
- Mensajes: 11
- Registrado: Mar Abr 12, 2011 5:21 pm
Llamada a XA_DrawParentBackground() desde un componente
José,
> Alberto,
>
> HB_FUNC_STATIC( XA_DRAWPARENTBACKGROUND )
Al compilar el Wrapper me muestra el siguiente error:
Compilando Wrappers.prg...
Error E2451 Wrappers.c 19: Undefined symbol
'HB_FUN_XA_DRAWPARENTBACKGROUND'
Error E2141 Wrappers.c 19: Declaration syntax error
Error E2190 Wrappers.c 19: Unexpected }
Error E2190 Wrappers.c 19: Unexpected }
Error E2040 Wrappers.c 19: Declaration terminated incorrectly
Error E2190 Wrappers.c 19: Unexpected }
Error E2190 Wrappers.c 19: Unexpected }
Error E2190 Wrappers.c 20: Unexpected }
Error E2109 Wrappers.c 20: Not an allowed type in function
hb_vm_SymbolInit_WRAPPERS
Error E2238 Wrappers.prg 19: Multiple declaration for
'HB_FUN_XA_DRAWPARENTBACKGROUND'
La línea 19 es la que contiene: HB_FUNC_STATIC( XA_DRAWPARENTBACKGROUND
)
No obstante, he conseguido que funcione creando la función como método
de la clase XLabelVert:
#pragma BEGINDUMP
#include <windows.h>
#include <xailer.h>
//---------------------------------------------------------- ------------
HB_FUNC_STATIC( XLABELVERT_DRAWPARENTBACKGROUND )
{
XA_DrawParentBackground( (HWND) hb_parnl( 1 ), (HDC) hb_parnl( 2 ),
NULL );
hb_ret();
}
#pragma ENDDUMP
//---------------------------------------------------------- ------------
Con esto sí que funciona en tiempo de diseño.
Muchas gracias por tu ayuda, a ver si en esta semana puedo subir una
actualización de los componentes.
Un saludo,
Alberto A.T.
--
> Alberto,
>
> HB_FUNC_STATIC( XA_DRAWPARENTBACKGROUND )
Al compilar el Wrapper me muestra el siguiente error:
Compilando Wrappers.prg...
Error E2451 Wrappers.c 19: Undefined symbol
'HB_FUN_XA_DRAWPARENTBACKGROUND'
Error E2141 Wrappers.c 19: Declaration syntax error
Error E2190 Wrappers.c 19: Unexpected }
Error E2190 Wrappers.c 19: Unexpected }
Error E2040 Wrappers.c 19: Declaration terminated incorrectly
Error E2190 Wrappers.c 19: Unexpected }
Error E2190 Wrappers.c 19: Unexpected }
Error E2190 Wrappers.c 20: Unexpected }
Error E2109 Wrappers.c 20: Not an allowed type in function
hb_vm_SymbolInit_WRAPPERS
Error E2238 Wrappers.prg 19: Multiple declaration for
'HB_FUN_XA_DRAWPARENTBACKGROUND'
La línea 19 es la que contiene: HB_FUNC_STATIC( XA_DRAWPARENTBACKGROUND
)
No obstante, he conseguido que funcione creando la función como método
de la clase XLabelVert:
#pragma BEGINDUMP
#include <windows.h>
#include <xailer.h>
//---------------------------------------------------------- ------------
HB_FUNC_STATIC( XLABELVERT_DRAWPARENTBACKGROUND )
{
XA_DrawParentBackground( (HWND) hb_parnl( 1 ), (HDC) hb_parnl( 2 ),
NULL );
hb_ret();
}
#pragma ENDDUMP
//---------------------------------------------------------- ------------
Con esto sí que funciona en tiempo de diseño.
Muchas gracias por tu ayuda, a ver si en esta semana puedo subir una
actualización de los componentes.
Un saludo,
Alberto A.T.
--
Llamada a XA_DrawParentBackground() desde un componente
Alberto,
si con esto:
>> HB_FUNC_STATIC( XA_DRAWPARENTBACKGROUND )
muestra este error:
> Error E2451 Wrappers.c 19: Undefined symbol
> 'HB_FUN_XA_DRAWPARENTBACKGROUND'
algo raro hay en la instalación de Xailer, xHarbour o del compilador C. Si
ese tipo de declaraciones fallaran el propio xHarbour y Xailer serían
"in"compilables.
¿Puedes enviarme el proyecto por privado para revisarlo?
Saludos,
José Lalín
si con esto:
>> HB_FUNC_STATIC( XA_DRAWPARENTBACKGROUND )
muestra este error:
> Error E2451 Wrappers.c 19: Undefined symbol
> 'HB_FUN_XA_DRAWPARENTBACKGROUND'
algo raro hay en la instalación de Xailer, xHarbour o del compilador C. Si
ese tipo de declaraciones fallaran el propio xHarbour y Xailer serían
"in"compilables.
¿Puedes enviarme el proyecto por privado para revisarlo?
Saludos,
José Lalín