Antonio...
Yo trabajo con xHarbour.com de Febrero 2006 y FWH2.6, uso RMDBFCDX y no he tenido problemas.
A solicitud de una empresa que trabaja con Harbour y FWH28 he empezado a traspasar unos modulos que yo poseo en Xharbour.com para un sistema muy grande que ellos poseen. Sin embargo no he podido hacer absolutamente nada... a continuacion los errores y problemas que he tenido.
1.- Situacion.
FWH28
Fiveh.lib 1.395 kb 17/09/2006 13:35
Fivehc.lib 341 kb 18/09/2006 1.56
Harbour ( version descargada desde Fivetechsoft.com)
El xMate se queja de la inexistencia de GTWIN.LIB, lo mismo Verce.
Al colocar "solo" las libs que vienen con esta version de FWH en los parametros del linkeador, se genera el exe, pero no realiza absolutamente nada.
2.- Situacion.
FWH28
Fiveh.lib 1.395 kb 17/09/2006 13:35
Fivehc.lib 341 kb 18/09/2006 1.56
Harbour ( version descargada desde Harbour-Project.org)
El xMate se queja de referencias externas _hb_ProcessSymbolsEx y de _hb_objHasMessage y no linkea.
Alguna ayuda, que tengo mal.... si lo hago a travez del Buildh.bat, ocurre exactamente lo mismo.
Si el mismo ejemplo lo compilo y linkeo a travez del Xbuild de xHB y mis versiones de Xhb y FWH no tengo problemas.
Agradecido de antemano.
Problemas con FWH/HARBOUR
Problemas con FWH/HARBOUR
Ji,ji,ji... buena la cosa... "all you need is code"
http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
- Manuel Aranda
- Posts: 561
- Joined: Wed Oct 19, 2005 8:20 pm
- Location: España
Manuel..
Si GTWIN "dejo de existir" no deberia eso estar comentado en algun lugar, quizas en el "what's new" o algo parecido... si no es asi.. algo esta mal... o no.
Sin embargo en la version descargada desde Harbour-Project.. si existe y se instala.
Aun con esa version aparecen esas referencias externas y no linkea...
Antonio ?
Si GTWIN "dejo de existir" no deberia eso estar comentado en algun lugar, quizas en el "what's new" o algo parecido... si no es asi.. algo esta mal... o no.
Sin embargo en la version descargada desde Harbour-Project.. si existe y se instala.
Aun con esa version aparecen esas referencias externas y no linkea...
Antonio ?
Ji,ji,ji... buena la cosa... "all you need is code"
http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
- Manuel Aranda
- Posts: 561
- Joined: Wed Oct 19, 2005 8:20 pm
- Location: España
Adolfo, lo leí en este mismo foro. Busca por "GTWIN" y encontrarás un montón de referencias. Por ejemplo: http://fivetechsoft.com/forums/viewtopic.php?t=3569
Un saludo,
Manuel
Un saludo,
Manuel
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Eso era Antonio.... Solucionado.
Sin embargo aun me encuentro con un problema que te habia comentado meses atras... necesito enviar dos CHR(0) a un ACTIVEX, pero no me es posible por lo siguiente. Ejecuta lo siguiente. Uso Harbour (de Fivetechsoft.com) y FWH28 (septiembre) para este ej.
Extension:=chr(2) + Chr(1)
MsgStop(len(Extension),"Extension Len()")
MsgStop(Len(AnsiToWide( Extension )),"Extension Len(AnsiToWide)")
MsgInfo(Len( WideToAnsi(AnsiToWide(Extension))) == Len(Extension))
Resultados 2,5,.T. Todo Bien
Extension:=chr(0) + Chr(1)
MsgStop(len(Extension),"Extension Len()")
MsgStop(Len(AnsiToWide( Extension )),"Extension Len(AnsiToWide)")
MsgInfo(Len( WideToAnsi(AnsiToWide(Extension))) == Len(Extension))
Resultados 2,1,.F. Todo mal
Extension:=Chr(0) + Chr(0)
MsgStop(len(Extension),"Extension Len()")
MsgStop(Len(AnsiToWide( Extension )),"Extension Len(AnsiToWide)" )
MsgInfo(Len( WideToAnsi(AnsiToWide(Extension))) == Len(Extension))
Resultados 2,1,.F. Todo Mal
Por lo que al enviar el String al OCX me falla, ya que no envia nada. Existira otra forma de Enviar los CHR(0) al OCX.
En xHarbour lo Solucione con la Ayuda de la Funcion VTArrayWrapper(), pero ahora lo necesito solo para Harbour..
Gracias de antemano..
Sin embargo aun me encuentro con un problema que te habia comentado meses atras... necesito enviar dos CHR(0) a un ACTIVEX, pero no me es posible por lo siguiente. Ejecuta lo siguiente. Uso Harbour (de Fivetechsoft.com) y FWH28 (septiembre) para este ej.
Extension:=chr(2) + Chr(1)
MsgStop(len(Extension),"Extension Len()")
MsgStop(Len(AnsiToWide( Extension )),"Extension Len(AnsiToWide)")
MsgInfo(Len( WideToAnsi(AnsiToWide(Extension))) == Len(Extension))
Resultados 2,5,.T. Todo Bien
Extension:=chr(0) + Chr(1)
MsgStop(len(Extension),"Extension Len()")
MsgStop(Len(AnsiToWide( Extension )),"Extension Len(AnsiToWide)")
MsgInfo(Len( WideToAnsi(AnsiToWide(Extension))) == Len(Extension))
Resultados 2,1,.F. Todo mal
Extension:=Chr(0) + Chr(0)
MsgStop(len(Extension),"Extension Len()")
MsgStop(Len(AnsiToWide( Extension )),"Extension Len(AnsiToWide)" )
MsgInfo(Len( WideToAnsi(AnsiToWide(Extension))) == Len(Extension))
Resultados 2,1,.F. Todo Mal
Por lo que al enviar el String al OCX me falla, ya que no envia nada. Existira otra forma de Enviar los CHR(0) al OCX.
En xHarbour lo Solucione con la Ayuda de la Funcion VTArrayWrapper(), pero ahora lo necesito solo para Harbour..
Gracias de antemano..
Ji,ji,ji... buena la cosa... "all you need is code"
http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Adolfo,
Por lo visto los dobles ceros son interpretados como final de cadena por las funciones de Windows de conversión a wide.
Una solución sería que guardes el valor de cada byte convertido a wide (dos bytes) y que construyas tu mismo la cadena a enviar:
Por lo visto los dobles ceros son interpretados como final de cadena por las funciones de Windows de conversión a wide.
Una solución sería que guardes el valor de cada byte convertido a wide (dos bytes) y que construyas tu mismo la cadena a enviar:
Code: Select all
local WCero := AnsiToWide( Chr( 0 ) )
local WUno := AnsiToWide( Chr( 1 ) )
local WDos := AnsiToWide( Chr( 2 ) )
local WExtension := WCero + WUno
...
Antonio....
Eso soluciona lo de las pruebas, pero aun no envia bien los CHR(0)..
existira alguna forma de hacer un CHR2(), como para lograr enviar el correcto valor que requiere el OCX, porque segun la descripcion de la funcion en el Codigo fuente, el CHR(0) no envia el valor, sino que el caracter NULL y eso causa mi problema...
Caulquier ayuda sera bienvenida..
Grax....
Eso soluciona lo de las pruebas, pero aun no envia bien los CHR(0)..
existira alguna forma de hacer un CHR2(), como para lograr enviar el correcto valor que requiere el OCX, porque segun la descripcion de la funcion en el Codigo fuente, el CHR(0) no envia el valor, sino que el caracter NULL y eso causa mi problema...
Caulquier ayuda sera bienvenida..
Grax....
Ji,ji,ji... buena la cosa... "all you need is code"
http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050