XBROWSE SetCheck Help Needed.

XBROWSE SetCheck Help Needed.

Postby Horizon » Mon Jul 06, 2009 12:24 pm

Hi,

My Test program works well in FWH 9.03. But I could not execute using FWH 9.04 and FWH 9.05. It gives runtime error like below. I use xHarbour.

Is there any change in last versions of FWH?

Thanks,

Code: Select all  Expand view
Application
===========
   Path and name: D:\PRG\NEWS\XBROWSE\TEST\test.exe (32 bits)
   Size: 1,931,264 bytes
   Time from start: 0 hours 0 mins 0 secs
   Error occurred at: 07/06/09, 15:19:07
   Error description: Error BASE/1004  Class: 'NIL' has no exported method: EVAL
   Args:
     [   1] = U  

Stack Calls
===========
   Called from:  => EVAL(0)
   Called from: D:\FWH\source\classes\xbrowse.prg => (b)TXBRWCOLUMN:SETCHECK(7002)
   Called from: D:\FWH\source\classes\xbrowse.prg => TXBRWCOLUMN:PAINTDATA(7581)
   Called from: D:\FWH\source\classes\xbrowse.prg => TXBROWSE:PAINT(1343)
   Called from: D:\FWH\source\classes\xbrowse.prg => TXBROWSE:DISPLAY(946)
   Called from: .\source\classes\CONTROL.PRG => TXBROWSE:HANDLEEVENT(1423)
   Called from: .\source\classes\WINDOW.PRG => _FWH(3333)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(273)
   Called from: .\source\function\ERRSYSW.PRG => ERRORDIALOG(343)
   Called from: .\source\function\ERRSYSW.PRG => (b)ERRORSYS(27)
   Called from:  => EVAL(0)
   Called from: D:\FWH\source\classes\xbrowse.prg => (b)TXBRWCOLUMN:SETCHECK(7002)
   Called from: D:\FWH\source\classes\xbrowse.prg => TXBRWCOLUMN:PAINTDATA(7581)
   Called from: D:\FWH\source\classes\xbrowse.prg => TXBROWSE:PAINT(1343)
   Called from: D:\FWH\source\classes\xbrowse.prg => TXBROWSE:DISPLAY(946)
   Called from: .\source\classes\CONTROL.PRG => TXBROWSE:HANDLEEVENT(1423)
   Called from: .\source\classes\WINDOW.PRG => _FWH(3333)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(273)
   Called from: TEST.PRG => MAIN(65)

System
======
   CPU type: Intel(R) Core(TM)2 Duo CPU     T8300  @ 2.40GHz -137432 Mhz
   Hardware memory: 2048 megs

   Free System resources: 90 %
        GDI    resources: 90 %
        User   resources: 90 %

Variables in use
================
   Procedure     Type   Value
   ==========================
   EVAL
     Local   1:    A    Len:    0
     Local   2:    U    
     Local   3:    U    
   (b)TXBRWCOLUMN:SETCHECK
     Local   1:    U    
   TXBRWCOLUMN:PAINTDATA
     Param   1:    N    20
     Param   2:    N    103
     Param   3:    N    20
     Param   4:    L    .F.
     Param   5:    L    .F.
     Param   6:    N    2
     Param   7:    N    1
     Local   1:    O    Class: TXBRWCOLUMN
     Local   2:    U    
     Local   3:    U    
     Local   4:    U    
     Local   5:    U    
     Local   6:    U    
     Local   7:    U    
     Local   8:    U    
     Local   9:    U    
     Local  10:    U    
     Local  11:    U    
     Local  12:    U    
     Local  13:    U    
     Local  14:    U    
     Local  15:    U    
     Local  16:    U    
     Local  17:    C    ""
     Local  18:    U    
     Local  19:    U    
     Local  20:    U    
     Local  21:    U    
     Local  22:    U    
     Local  23:    U    
     Local  24:    U    
     Local  25:    U    
     Local  26:    U    
     Local  27:    U    
     Local  28:    U    
     Local  29:    U    
     Local  30:    U    
     Local  31:    U    
     Local  32:    N    0
     Local  33:    L    .F.
     Local  34:    L    .F.
     Local  35:    L    .F.
     Local  36:    U    
   TXBROWSE:PAINT
     Local   1:    O    Class: TXBROWSE
     Local   2:    A    Len:    6
     Local   3:    A    Len:    4
     Local   4:    O    Class: TXBRWCOLUMN
     Local   5:    N    2
     Local   6:    N    5
     Local   7:    N    20
     Local   8:    N    311
     Local   9:    N    20
     Local  10:    N    5
     Local  11:    N    40
     Local  12:    N    310
     Local  13:    N    383
     Local  14:    N    181
     Local  15:    U    
     Local  16:    N    655365937
     Local  17:    N    285286145
     Local  18:    N    -1909451806
     Local  19:    N    -1792008787
     Local  20:    U    
     Local  21:    U    
     Local  22:    N    -703588985
     Local  23:    N    20
     Local  24:    N    181
     Local  25:    N    8
     Local  26:    N    0
     Local  27:    N    0
     Local  28:    N    1
     Local  29:    N    20
     Local  30:    N    1
     Local  31:    N    5
     Local  32:    U    
     Local  33:    L    .T.
     Local  34:    L    .F.
     Local  35:    L    .F.
     Local  36:    A    Len:    5
     Local  37:    U    
     Local  38:    U    
     Local  39:    U    
     Local  40:    U    
     Local  41:    U    
     Local  42:    U    
     Local  43:    U    
     Local  44:    U    
     Local  45:    U    
     Local  46:    U    
     Local  47:    U    
     Local  48:    U    
     Local  49:    U    
     Local  50:    U    
   TXBROWSE:DISPLAY
     Local   1:    O    Class: TXBROWSE
   TXBROWSE:HANDLEEVENT
     Param   1:    N    15
     Param   2:    N    0
     Param   3:    N    0
     Local   1:    O    Class: TXBROWSE
     Local   2:    U    
   _FWH
     Param   1:    N    0
     Param   2:    N    15
     Param   3:    N    0
     Param   4:    N    0
     Param   5:    N    1
     Local   1:    O    Class: TXBROWSE
   DIALOGBOXINDIRECT
     Param   1:    N    4194304
     Param   2:    C    "€ È€         -É     I   a m   a   D i a l o g B o x     ±P        È d e T X B R O W S E       "
     Param   3:    N    0
     Param   4:    O    Class: TDIALOG
   TDIALOG:ACTIVATE
     Param   1:    U    
     Param   2:    U    
     Param   3:    U    
     Param   4:    L    .T.
     Param   5:    U    
     Param   6:    L    .T.
     Param   7:    U    
     Param   8:    U    
     Param   9:    U    
     Param  10:    L    .F.
     Local   1:    O    Class: TDIALOG
     Local   2:    N    0
     Local   3:    U    
     Local   4:    U    
     Local   5:    U    
     Local   6:    O    Class: TDIALOG
   MAIN
     Local   1:    O    Class: TDIALOG
     Local   2:    O    Class: TXBROWSE
     Local   3:    A    Len:    5

Linked RDDs
===========
   DBF
   DBFFPT
   DBFNTX
   DBFBLOB

DataBases in use
================

Classes in use:
===============
     1 ERROR
     2 HASHENTRY
     3 HBCLASS
     4 HBOBJECT
     5 TWINDOW
     6 TDIALOG
     7 TBRUSH
     8 TCONTROL
     9 TXBROWSE
    10 TFONT
    11 TXBRWCOLUMN
    12 TSCROLLBAR
    13 TBTNBMP
    14 TREG32

Memory Analysis
===============
      172 Static variables

   Dynamic memory consume:
      Actual  Value:          0 bytes
      Highest Value:          0 bytes
"
     Local  13:    A    Len:    5
     Local  14:    A    Len:   77
     Local  15:    A    Len:    4
     Local  16:    U    
     Local  17:    U    
     Local  18:    B    {|| ... }
     Local  19:    U    
     Local  20:    L    .T.
   (b)ERRORSYS
     Param   1:    O    Class: ERROR
   EVAL
     Local   1:    A    Len:    0
     Local   2:    U    
     Local   3:    U    
   (b)TXBRWCOLUMN:SETCHECK
     Local   1:    U    
   TXBRWCOLUMN:PAINTDATA
     Param   1:    N    20
     Param   2:    N    103
     Param   3:    N    20
     Param   4:    L    .F.
     Param   5:    L    .F.
     Param   6:    N    2
     Param   7:    N    1
     Local   1:    O    Class: TXBRWCOLUMN
     Local   2:    U    
     Local   3:    U    
     Local   4:    U    
     Local   5:    U    
     Local   6:    U    
     Local   7:    U    
     Local   8:    U    
     Local   9:    U    
     Local  10:    U    
     Local  11:    U    
     Local  12:    U    
     Local  13:    U    
     Local  14:    U    
     Local  15:    U    
     Local  16:    U    
     Local  17:    C    "
"
     Local  18:    U    
     Local  19:    U    
     Local  20:    U    
     Local  21:    U    
     Local  22:    U    
     Local  23:    U    
     Local  24:    U    
     Local  25:    U    
     Local  26:    U    
     Local  27:    U    
     Local  28:    U    
     Local  29:    U    
     Local  30:    U    
     Local  31:    U    
     Local  32:    N    0
     Local  33:    L    .F.
     Local  34:    L    .F.
     Local  35:    L    .F.
     Local  36:    U    
   TXBROWSE:PAINT
     Local   1:    O    Class: TXBROWSE
     Local   2:    A    Len:    6
     Local   3:    A    Len:    4
     Local   4:    O    Class: TXBRWCOLUMN
     Local   5:    N    2
     Local   6:    N    5
     Local   7:    N    20
     Local   8:    N    311
     Local   9:    N    20
     Local  10:    N    5
     Local  11:    N    40
     Local  12:    N    310
     Local  13:    N    383
     Local  14:    N    181
     Local  15:    U    
     Local  16:    N    655365937
     Local  17:    N    285286145
     Local  18:    N    -1909451806
     Local  19:    N    -1792008787
     Local  20:    U    
     Local  21:    U    
     Local  22:    N    -703588985
     Local  23:    N    20
     Local  24:    N    181
     Local  25:    N    8
     Local  26:    N    0
     Local  27:    N    0
     Local  28:    N    1
     Local  29:    N    20
     Local  30:    N    1
     Local  31:    N    5
     Local  32:    U    
     Local  33:    L    .T.
     Local  34:    L    .F.
     Local  35:    L    .F.
     Local  36:    A    Len:    5
     Local  37:    U    
     Local  38:    U    
     Local  39:    U    
     Local  40:    U    
     Local  41:    U    
     Local  42:    U    
     Local  43:    U    
     Local  44:    U    
     Local  45:    U    
     Local  46:    U    
     Local  47:    U    
     Local  48:    U    
     Local  49:    U    
     Local  50:    U    
   TXBROWSE:DISPLAY
     Local   1:    O    Class: TXBROWSE
   TXBROWSE:HANDLEEVENT
     Param   1:    N    15
     Param   2:    N    0
     Param   3:    N    0
     Local   1:    O    Class: TXBROWSE
     Local   2:    U    
   _FWH
     Param   1:    N    0
     Param   2:    N    15
     Param   3:    N    0
     Param   4:    N    0
     Param   5:    N    1
     Local   1:    O    Class: TXBROWSE
   DIALOGBOXINDIRECT
     Param   1:    N    4194304
     Param   2:    C    "
€ È€         -É     I   a m   a   D i a l o g B o x     ±P        È d e T X B R O W S E       "
     Param   3:    N    0
     Param   4:    O    Class: TDIALOG
   TDIALOG:ACTIVATE
     Param   1:    U    
     Param   2:    U    
     Param   3:    U    
     Param   4:    L    .T.
     Param   5:    U    
     Param   6:    L    .T.
     Param   7:    U    
     Param   8:    U    
     Param   9:    U    
     Param  10:    L    .F.
     Local   1:    O    Class: TDIALOG
     Local   2:    N    0
     Local   3:    U    
     Local   4:    U    
     Local   5:    U    
     Local   6:    O    Class: TDIALOG
   MAIN
     Local   1:    O    Class: TDIALOG
     Local   2:    O    Class: TXBROWSE
     Local   3:    A    Len:    5

Linked RDDs
===========
   DBF
   DBFFPT
   DBFNTX
   DBFBLOB

DataBases in use
================

Classes in use:
===============
     1 ERROR
     2 HASHENTRY
     3 HBCLASS
     4 HBOBJECT
     5 TWINDOW
     6 TDIALOG
     7 TBRUSH
     8 TCONTROL
     9 TXBROWSE
    10 TFONT
    11 TXBRWCOLUMN
    12 TSCROLLBAR
    13 TBTNBMP
    14 TREG32
    15 TSAY
    16 TLISTBOX
    17 TBUTTON

Memory Analysis
===============
      172 Static variables[code][/code]

   Dynamic memory consume:
      Actual  Value:          0 bytes
      Highest Value:          0 bytes




My Test Prg is
Code: Select all  Expand view
// Our first DialogBox sample

#include "FiveWin.ch"
#include "xbrowse.ch"

function Main()

   local oDlg,oBrw1, aData
   
   aData := {{"Aaaaaaaaaa",.T.,.T.,.T.,.T.},;
                    {"Bbbbbbbbbb",.T.,.f.,.T.,.T.},;
                    {"Cccccccccc",.T.,.T.,.T.,.T.},;
                    {"Dddddddddd",.f.,.T.,.f.,.T.},;
                        {"Eeeeeeeeee",.T.,.T.,.T.,.f.}}

   DEFINE DIALOG oDlg TITLE "I am a DialogBox" PIXEL SIZE 600,400
   
  @ 0,0 XBROWSE oBrw1 OF oDlg  ;
       COLUMNS {1, 2, 3, 4, 5} ;
     HEADERS {"Procedure", "Add","Edit","Delete","Monitor"} ;
     ARRAY aData ;
     ON DBLCLICK MsgInfo(oBrw1:nRowSel);
     AUTOSORT SIZE 200,100
     
   if ! Empty( oCol := oBrw1:oCol( "Add" ) )
      oCol:SetCheck( { "ON", "OFF" } )
      oCol:cSortOrder  := nil
      oCol:nWidth := 50
      oCol:nDataBmpAlign := AL_CENTER
      oCol:bStrData:={||NIL}
      oCol:nHeadStrAlign := AL_CENTER
   endif
   if ! Empty( oCol := oBrw1:oCol( "Edit" ) )
      oCol:SetCheck( { "ON", "OFF" } )
      oCol:cSortOrder  := nil
      // oCol:lBmpStretch = .T.
      oCol:nWidth := 50
      oCol:nDataBmpAlign := AL_CENTER
      oCol:bStrData:={||NIL}
      oCol:nHeadStrAlign := AL_CENTER
   endif
   if ! Empty( oCol := oBrw1:oCol( "Delete" ) )
      oCol:SetCheck( { "ON", "OFF" } )
      oCol:cSortOrder  := nil
      // oCol:lBmpStretch = .T.
      oCol:nWidth := 50
      oCol:nDataBmpAlign := AL_CENTER
      oCol:bStrData:={||NIL}
      oCol:nHeadStrAlign := AL_CENTER
   endif
   if ! Empty( oCol := oBrw1:oCol( "Monitor" ) )
      oCol:SetCheck( { "ON", "OFF" } )
      oCol:cSortOrder  := nil
      // oCol:lBmpStretch = .T.
      oCol:nWidth := 50
      oCol:nDataBmpAlign := AL_CENTER
      oCol:bStrData:={||NIL}
      oCol:nHeadStrAlign := AL_CENTER
   endif
    oBrw1:nMarqueeStyle := 5

    oBrw1:CreateFromCode()


       ACTIVATE DIALOG oDlg CENTERED

return nil
function OleInvoke( hObj, cMethod, uParam )

#ifndef __XHARBOUR__
   return __ObjSendMsg( TOleAuto():New( hObj ), cMethod, uParam )
#else  
   local aParams := hb_aParams()

   aParams[ 1 ] = TOleAuto():New( hObj )

   return hb_execFromArray( @__ObjSendMsg(), aParams )  
#endif

function OleSetProperty( hObj, cPropName, uValue )

return __ObjSendMsg( TOleAuto():New( hObj ), "_" + cPropName, uValue )

function OleGetProperty( hObj, cPropName )

return __ObjSendMsg( TOleAuto():New( hObj ), cPropName )
 
Last edited by Horizon on Wed Jul 08, 2009 1:28 pm, edited 1 time in total.
Regards,

Hakan ONEMLI

Harbour & MSVC 2022 & FWH 23.04
Horizon
 
Posts: 1305
Joined: Fri May 23, 2008 1:33 pm

Re: XBROWSE SetCheck Help Needed.

Postby Horizon » Tue Jul 07, 2009 2:59 pm

Hi,

I have replace the METHOD Adjust() CLASS TXBrwColumn's Array condition with fwh 9.03 in xBrowse class. There is not any error. It works like before.

Is there anyone that knows why this change is done?

Thanks,
Regards,

Hakan ONEMLI

Harbour & MSVC 2022 & FWH 23.04
Horizon
 
Posts: 1305
Joined: Fri May 23, 2008 1:33 pm

Re: XBROWSE SetCheck Help Needed.

Postby Daniel Garcia-Gil » Wed Jul 08, 2009 2:50 pm

Hello Horizon...

Please change this lines of ADJUST CLASS from TXBrwColumn CLASS
Lines 6827 to 6844

Code: Select all  Expand view
     if ::bStrData == nil
         if ::bEditValue == nil
            if ValType( ::oBrw:ArrCell( 1 ) ) == 'A' .and. ::nArrayCol > 0
               ::bEditValue   := ;
                  { |x| If( x == nil, ::oBrw:ArrCell( ::oBrw:nArrayAt, ::nArrayCol ), ;
                                      ::oBrw:ArrCellSet( ::oBrw:nArrayAt, ::nArrayCol, x ) ) }
               ::bStrData     := ;
                  { || ::oBrw:ArrCell( ::oBrw:nArrayAt, ::nArrayCol, ::cEditPicture ) }
            elseif ValType( ::oBrw:ArrCell( 1 ) ) $ 'CDLN'
               ::bEditValue   := ;
                  { |x| If( x == nil, ::oBrw:ArrCell( ::oBrw:nArrayAt ), ;
                                      ::oBrw:ArrCellSet( ::oBrw:nArrayAt, 1, x ) ) }
               ::bStrData     := ;
                  { || ::oBrw:ArrCell( ::oBrw:nArrayAt, 1, ::cEditPicture ) }

            endif
         endif
      endif


...with this lines
Code: Select all  Expand view
     if ::bEditValue == nil
         if ValType( ::oBrw:ArrCell( 1 ) ) == 'A' .and. ::nArrayCol > 0
            ::bEditValue   := ;
               { |x| If( x == nil, ::oBrw:ArrCell( ::oBrw:nArrayAt, ::nArrayCol ), ;
                                   ::oBrw:ArrCellSet( ::oBrw:nArrayAt, ::nArrayCol, x ) ) }
            ::bStrData     := if( ::bStrData == NIL, ;
               { || ::oBrw:ArrCell( ::oBrw:nArrayAt, ::nArrayCol, ::cEditPicture ) }, ::bStrData )
         elseif ValType( ::oBrw:ArrCell( 1 ) ) $ 'CDLN'
            ::bEditValue   :=  ;
               { |x| If( x == nil, ::oBrw:ArrCell( ::oBrw:nArrayAt ), ;
                                   ::oBrw:ArrCellSet( ::oBrw:nArrayAt, 1, x ) ) }
            ::bStrData     := if( ::bStrData == NIL, ;
               { || ::oBrw:ArrCell( ::oBrw:nArrayAt, 1, ::cEditPicture ) }, ::bStrData )

         endif
      endif


Please Test and comment your results
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: XBROWSE SetCheck Help Needed.

Postby Horizon » Thu Jul 09, 2009 8:58 am

Thanks Daniel,

My test program is OK now.
Regards,

Hakan ONEMLI

Harbour & MSVC 2022 & FWH 23.04
Horizon
 
Posts: 1305
Joined: Fri May 23, 2008 1:33 pm


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 108 guests