KeyBoard() ERROR

KeyBoard() ERROR

Postby triumvirato » Mon Sep 29, 2008 9:43 am

Code: Select all  Expand view  RUN
KEYBOARD Chr( 13 )


Al utilizar este comando (implementa en buffer el carácter indicado), obtengo el error al compilar:

Error: Unresolved external '_HB_FUN_KEYBOARD' referenced from C:\FIVEWIN\GESCO\VENTAS.OBJ

Utilizo FWH 805 y xHarbour, qué me falta por enlazar?
xHarbour no tiene implementado ese comando?

Gracias!
Saludos!
Last edited by triumvirato on Mon Sep 29, 2008 2:09 pm, edited 1 time in total.
triumvirato
 
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Re: KeyBoard() ERROR

Postby FranciscoA » Mon Sep 29, 2008 1:41 pm

triumvirato wrote:
Code: Select all  Expand view  RUN
KeyBoard( Chr( 13 ) )


Al utilizar esa función (implemente en buffer el carácter indicado), obtengo el error al compilar:

Error: Unresolved external '_HB_FUN_KEYBOARD' referenced from C:\FIVEWIN\GESCO\VENTAS.OBJ

Utilizo FWH 805 y xHarbour, qué me falta por enlazar?

Gracias!
Saludos!


Intentalo asi, a ver si te resuelve:
#include "Inkey.ch"

KEYBOARD Chr(13)
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: KeyBoard() ERROR

Postby triumvirato » Mon Sep 29, 2008 2:05 pm

FranciscoA wrote:Intentalo asi, a ver si te resuelve:
#include "Inkey.ch"

KEYBOARD Chr(13)


Gracias Francisco, lo había probado ya y con idéntico resultado... parece que me falte algo por enlazar... y no doy con ello o xHarbour no lo tiene ya...

Saludos!
triumvirato
 
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Postby triumvirato » Tue Sep 30, 2008 3:36 pm

Bueno, pues buscando y buscando y rebuscando, he encontrado estos dos hilos:
http://67.222.39.232/forums/viewtopic.p ... oard#49283
http://67.222.39.232/forums/viewtopic.p ... oard#63059

Donde se utiliza __Keyboard() como función en lugar de comando, lo he probado y perfecto.

Saludos!
triumvirato
 
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Postby Antonio Linares » Tue Sep 30, 2008 4:50 pm

David,

Bien! :-)

No habia leido este mensaje y me alegro que hayas encontrado la solución
regards, saludos

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

Postby Armando » Tue Sep 30, 2008 5:21 pm

triumvirato:

Desde luego que la solución que encontraste te va a funcionar, perooooo
(nunca falta un pero), las teclas que estas emulando estan dirigidas al diálogo o ventana activo.

Lo recomendable es que indiques el diálogo o ventana a la que deseas enviar las teclas para evitarte dolores de cabeza, te muestro un ejemplo:

Code: Select all  Expand view  RUN
Teclado(oDlg,13,1)


En este pedazo de código estoy llamando a la función Teclado() enviando el diálogo al que quiero dirigir las teclas, el código de la tecla a "oprimir" en este caso es RETURN y el número de repeticiones que deseo.

Y esta es la función Teclado()

Code: Select all  Expand view  RUN
FUNCTION Teclado(oDlg,nKey,nVeces)
   LOCAL nVez
   DEFAULT nVeces := 1
   oDlg:SETFOCUS()
   FOR nVez := 1 TO nVeces
      oDlg:POSTMSG(WM_KEYDOWN,nKey,0)
   NEXT
RETURN (NIL)


Mira que primero hago activo el Diálogo al que envío la tecla, despues con un FOR - NEXT emulo el teclado nVeces y con POSTMSG se envia la tecla.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3239
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby triumvirato » Wed Oct 01, 2008 7:55 am

Armando,

Muchas gracias por tu advertencia y recomendación, las hago mías!!!!

Y con tu permiso clono tu código.

Gracias y Saludos!
triumvirato
 
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Re: KeyBoard() ERROR

Postby jnavas » Wed Oct 01, 2008 2:34 pm

Colega,
Agregé éste metodo en la clase TCONTROL

// JN
METHOD KeyBoard( nKey ) INLINE (::SetFocus() , ::PostMsg( WM_KEYDOWN, nKey, 0 ))

y lo aplico asi

oGet:KeyBoard(13)


triumvirato wrote:
Code: Select all  Expand view  RUN
KEYBOARD Chr( 13 )


Al utilizar este comando (implementa en buffer el carácter indicado), obtengo el error al compilar:

Error: Unresolved external '_HB_FUN_KEYBOARD' referenced from C:\FIVEWIN\GESCO\VENTAS.OBJ

Utilizo FWH 805 y xHarbour, qué me falta por enlazar?
xHarbour no tiene implementado ese comando?

Gracias!
Saludos!
User avatar
jnavas
 
Posts: 479
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Postby triumvirato » Wed Oct 01, 2008 3:51 pm

Juan,

Muchas gracias, muy buena implementación, aunque de momento las clases a mí me quedan muy lejos!!

Gracias y Saludos!
triumvirato
 
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Postby jnavas » Wed Oct 01, 2008 4:32 pm

Colega

También puedes implementarla así

KEYBOARD(13,oGet)

l
/ JN

function KeyBoard( nKey , oControl)

oControl:SetFocus()
oControl:PostMsg( WM_KEYDOWN, nKey, 0 )

return nil

triumvirato wrote:Juan,

Muchas gracias, muy buena implementación, aunque de momento las clases a mí me quedan muy lejos!!

Gracias y Saludos!
User avatar
jnavas
 
Posts: 479
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Postby triumvirato » Wed Oct 01, 2008 4:49 pm

Juan,

Perfecto, esto es más o menos lo que sugirió el compañero Armando y por lo que he optado, es más sencillo, sin necesidad de modificar la clase, aunque evidentemente sea más "profesional" ese sistema, el de agregar el método a la clase TControl.

Muchas gracias!!!!!
triumvirato
 
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 71 guests