Primer intento de migracion xharbour a HARBOUR (SOLUCIONADO)

Primer intento de migracion xharbour a HARBOUR (SOLUCIONADO)

Postby FranciscoA » Sun Jun 22, 2014 7:22 pm

Hola amigos del foro.
Estoy haciendo mis primeras pruebas intentando migrar a Harbour. Con mi actual version de xHarbour_bcc582_20120330 y FWH1402, todos mis programas esta corriendo perfectamente. (ningun problema)

Sin embargo, al tratar de compilar con Harbour_bcc582_20131007 (bajado desde link suministrado por el Maestro Linares), compile bien, pero al ejecutar cierta opción, obtengo los siguientes errores:

Application
===========
Path and name: C:\WNOMIPQ32\WNOMIPQ.exe (32 bits)
Size: 2,564,096 bytes
Compiler version: Harbour 3.2.0dev (r1307082134)
FiveWin Version: FWH 12.03
Windows version: 6.1, Build 7601 Service Pack 1

Time from start: 0 hours 55 mins 37 secs
Error occurred at: 22/06/2014, 12:55:00
Error description: Error BASE/1081 Argument error: +
Args:
[ 1] = N 39
[ 2] = U

Stack Calls
===========
Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:PAINTCELL( 9690 )
Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:PAINTDATA( 9561 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:PAINT( 1434 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:DISPLAY( 1253 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1666 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:HANDLEEVENT( 11632 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3153 )
Called from: => DIALOGBOXINDIRECT( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 270 )
Called from: .\source\function\ERRSYSW.PRG => ERRORDIALOG( 426 )
Called from: .\source\function\ERRSYSW.PRG => (b)ERRORSYS( 31 )
Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:PAINTCELL( 9690 )
Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:PAINTDATA( 9561 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:PAINT( 1434 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:DISPLAY( 1253 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1666 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:HANDLEEVENT( 11632 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3153 )
Called from: => DIALOGBOX( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 270 )
Called from: WNOMIPQ.prg => GRABAR( 178 )
Called from: WNOMIPQ.prg => (b)BUILDMENU( 237 )


Code: Select all  Expand view  RUN
METHOD PaintData( nRow, nCol, nHeight, lHighLite, lSelected, nOrder, nPaintRow ) CLASS TXBrwColumn

   local oCol, n, nDataHeight

   if nCol != nil
      ::nDisplayCol := nCol
   else
      nCol := ::nDisplayCol
   endif
   if ::oBrw:lTransparent .and. Empty( ::oBrw:nRowDividerStyle )      //nuevo, agregado
      nHeight     -= ROW_EXTRAHEIGHT
   endif      //<---  ESTA ES LA LINEA 9690                                        //fin nuevo, agregado
   nDataHeight    := If( Empty( ::aRows ), nHeight, IfNil( ::nCellHeight, ::DataHeight() ) )
   ::PaintCell( nRow, nCol, nDataHeight, lHighLite, lSelected, nOrder, nPaintRow )
   ...
   ...
 

Como dije anteriormente, este method ha trabajado perfecto con XHARBOUR.

Ademas de lo anterior: HARBOUR no reconoce la function CurDrive()

¿ Pueden darme una manito, para probar HARBOUR_bcc582_20131007 ?

Gracias de antemano.
Last edited by FranciscoA on Mon Jun 23, 2014 3:11 am, edited 1 time in total.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Primer intento de migracion xharbour a HARBOUR

Postby cnavarro » Sun Jun 22, 2014 7:44 pm

Francisco
Usa hb_CurDrive
En cuanto al problema con el xbrowse, lo miraré a ver si veo que puede ser, aunque creo que el problema no está en la clase sino en la definición de tu código del browse (si puedes poner la definición del xbrowse, quizás sea más fácil ver algo)
Doy por hecho que has vuelto a compilar tu xbrowse con harbour y lo has incluído en tu proyecto
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Primer intento de migracion xharbour a HARBOUR

Postby FranciscoA » Sun Jun 22, 2014 7:51 pm

Cristobal, gracias. Lo de hb_CurDrive() está arreglado.
Voy a codificar un ejemplo autocontenido y lo subo.
Gracias, nuevamente.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Primer intento de migracion xharbour a HARBOUR

Postby cnavarro » Sun Jun 22, 2014 7:54 pm

Francisco
Asegúrate antes que has incluído tu XBrowse en el proyecto y no está tomando el de FWH
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Primer intento de migracion xharbour a HARBOUR

Postby FranciscoA » Sun Jun 22, 2014 11:33 pm

Cristóbal. Muy agradecido por tu tiempo e interés.
Lo acabo de resolver, después de dar "mas vueltas que un trompo".
El caso es que HARBOUR da el mencionado error si usamos: (xHarbour trabaja bien)
Code: Select all  Expand view  RUN

   oBrw:aCols[1]:SetColsAsRows(1,2,3 )

    WITH OBJECT oBrw
      :nRowHeight    := 50  //altura de lineas  //CON ESTE AQUI, HARBOUR DA ERROR
    END
 

Pero si lo usamos en el ON INIT del Dialog, Funciona bien tanto en xHarbour y HARBOUR.

Aqui posteo el ejemplo por si quieren probarlo.
Code: Select all  Expand view  RUN
#include "FiveWin.ch"
#include "XBROWSE.ch"

//-------------------------
FUNCTION MAIN()
LOCAL oDlg, oBrw
local cAlias,n
local aGradBarSel:= { { 1, RGB(252,232,171)  , RGB(248,220,120) } }
local aGradRowSel:= {{1, RGB(158,175, 194), RGB(130,160,224)}}

  DBUSEAREA(.T.,,"CLIENTES","CLIENTES",.T.)   //en samples
  cAlias:=Alias()

  DEFINE DIALOG oDlg SIZE 500,600 PIXEL TITLE "PRUEBA"

   @2,.50 XBROWSE oBrw OF oDlg ;
      ALIAS cAlias ;
      AUTOCOLS CELL LINES FOOTERS

     oBrw:CreateFromCode()

   oBrw:aCols[1]:SetColsAsRows(1,2,3 )

    WITH OBJECT oBrw
      :nFreeze       := 1
      :nMarqueeStyle := MARQSTYLE_HIGHLROW  
      :bClrSel       := {|| { nRGB(  0,  0,  0), aGradRowSel } }
      :bClrSelFocus  := { || { CLR_BLACK, aGradBarSel } }
      :lKinetic      := .f.
      :lContrastClr  := .f.  
      :nRowHeight    := 50  //altura entre lineas  //CON ESTE AQUI, HARBOUR DA ERROR
      :nColDividerStyle:=LINESTYLE_LIGHTGRAY
      :nRowDividerStyle:=LINESTYLE_LIGHTGRAY

      For n := 1 to len(:aCols)
        :aCols[n]:nHeadStrAlign := AL_CENTER
      Next

      //SUPER HEADERS
      :SetGroupHeader( "DATOS PRINCIPALES", 1,3 )
      :SetGroupHeader( "DATOS RESTANTES",  4,6 )
    END

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT ( oBrw:SetSize(oDlg:nWidth()-26,oDlg:nHeight()-100) ) //,;
//                oBrw:nRowHeight := 50 )  //PONIENDOLO AQUI TRABAJAN BIEN, AMBOS.

   DBCLOSEALL()

RETURN NIL
 
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Primer intento de migracion xharbour a HARBOUR

Postby cnavarro » Mon Jun 23, 2014 12:32 am

Francisco, prueba a poner
Code: Select all  Expand view  RUN

.../...
oBrw:CreateFromCode()
 

Al final de todas las definiciones del oBrw
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Primer intento de migracion xharbour a HARBOUR

Postby FranciscoA » Mon Jun 23, 2014 1:58 am

Cristobal.
El mismo error.
Si omitimos :nRowHeight := 50, funciona bien en HARBOUR
Code: Select all  Expand view  RUN
   WITH OBJECT oBrw
     // :nRowHeight    := 50  //altura entre lineas  //CON ESTE AQUI, HARBOUR DA ERROR
    END
 
De todas maneras, el programa compilado con HARBOUR esta funcionando bien. Solo que me quedo con la duda del por qué de esto.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Primer intento de migracion xharbour a HARBOUR

Postby cnavarro » Mon Jun 23, 2014 3:45 pm

FranciscoA wrote:Cristobal.
El mismo error.
Si omitimos :nRowHeight := 50, funciona bien en HARBOUR
Code: Select all  Expand view  RUN
   WITH OBJECT oBrw
     // :nRowHeight    := 50  //altura entre lineas  //CON ESTE AQUI, HARBOUR DA ERROR
    END
 
De todas maneras, el programa compilado con HARBOUR esta funcionando bien. Solo que me quedo con la duda del por qué de esto.
Saludos.


Francisco, mi comentario iba dirigido al hecho de tenerlo que poner en el ON INIT
Yo tengo hechos muchos XBrowse asi y nunca me ha dado error esa DATA
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Primer intento de migracion xharbour a HARBOUR

Postby FranciscoA » Mon Jun 23, 2014 4:49 pm

cnavarro wrote:Francisco, mi comentario iba dirigido al hecho de tenerlo que poner en el ON INIT


Cristobal, precisamente eso es lo que no entiendo.

Con xHarbour funciona perfectamente.
Code: Select all  Expand view  RUN
WITH OBJECT oBrw
      :nRowHeight    := 50  //altura entre lineas  //con xHarbour no hay problema
 END  
 

Pero con HARBOUR tengo que omitir la linea mencionada, y ponerlo en el ON INIT (aunque esto ultimo no es indispensable, pero necesito la altura de 50).

Code: Select all  Expand view  RUN
 WITH OBJECT oBrw
     // :nRowHeight    := 50  //altura entre lineas  //CON ESTE AQUI, HARBOUR DA ERROR
    END  
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Primer intento de migracion xharbour a HARBOUR (SOLUCIONADO)

Postby cnavarro » Mon Jun 23, 2014 5:42 pm

Francisco, el tema me tenía intrigado
No es culpa de Harbour ni de dicha DATA nRowHeight, sino de utilizar el Method -> oBrw:aCols[1]:SetColsAsRows(1,2,3 )
Yo he tenido el mismo error probando con la version Fwh1203
Deja el nRowHeight y comenta esa linea del SetColsAsRow y me cuentas
Pero......, he probado tu ejemplo con la version Fwh1308 y posteriores y se ejecuta sin problemas, por lo que deduzco que es un problema de la utilización de dicho metodo en tu versión.
Si me preguntas por qué en XHarbour te funcionaba? ni idea, pero Harbour es según parece "más delicado" pero por lo que he podido comprobar, más seguro
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Primer intento de migracion xharbour a HARBOUR (SOLUCIONADO)

Postby FranciscoA » Mon Jun 23, 2014 11:04 pm

cnavarro wrote:Pero......, he probado tu ejemplo con la version Fwh1308 y posteriores y se ejecuta sin problemas, por lo que deduzco que es un problema de la utilización de dicho metodo en tu versión.

Cristobal.
Estoy de acuerdo contigo. Debe ser mi version FWH1204.
cnavarro wrote:Si me preguntas por qué en XHarbour te funcionaba? ni idea, pero Harbour es según parece "más delicado" pero por lo que he podido comprobar, más seguro

Tambien concuerdo. Harbour, segun he leido en este foro los post de Antonio, es impresionante.

Por otra parte, el programa (Nóminas) que recién migré a HARBOUR se está comportando bien en las pruebas. Hasta el momento sin problemas. Incluso noto un ligero aumento de velocidad en la apertura de mis dialogos con xbrowse.
De manera general, puedo decir que me ha ido muy bien en esta migración. Probaré con otro de mis programas.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

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