Hi!

     In TBROWSE.PRG, there's a HIDDEN property named
::lNewRow for TDataCache() class. IMHO, it must be
removed:

1) ::lNewRow uses EOF() function to work. TBrowse
    shall not be aware about any kind of data
    source.

2) Since EOF() doesn't have any alias assignment,
    it would produce wrong results (sample included).

3) An "append mode" record should be managed by
    user's code.

     Can I remove it?

Atte.
  Vic

PROCEDURE MAIN
LOCAL oTB, oColumn

    DBCREATE("MAIN",{{"KEY1","C",10,0}})
    DBCREATE("CATALOG",{{"KEY1","C",10,0},{"KEY2","C",10,0}})

    USE CATALOG NEW
    INDEX ON KEY1 TO CATALOG

    USE MAIN NEW
    APPEND BLANK
    REPLACE KEY1 WITH "A"
    APPEND BLANK
    REPLACE KEY1 WITH "B"
    APPEND BLANK
    REPLACE KEY1 WITH "C"
    SET RELATION TO KEY1 INTO CATALOG

    SELECT CATALOG
    APPEND BLANK
    REPLACE KEY1 WITH "A"
    REPLACE KEY2 WITH "AA"

    GO TOP
    MAIN->( DBGOTOP() )

    CLS
    @ 0,0 TO MAXROW(),MAXCOL()
    oTB := TBrowseNew( 1, 1, MAXROW() - 1, MAXCOL() - 1 )
    oTB:AddColumn( TBColumnNew( "KEY1", { || MAIN->KEY1 } ) )
    oTB:AddColumn( TBColumnNew( "KEY2", { || CATALOG->KEY2 } ) )
    oTB:GoTopBlock := { || MAIN->( DBGOTOP() ) }
    oTB:GoBottomBlock := { || MAIN->( DBGOBOTTOM() ) }
    oTB:SkipBlock := { |n| MAIN->( DBSKIPPER( n ) ) }

    DO WHILE .T.
       oTB:ForceStable()
       IF oTB:ApplyKey( INKEY( 0 ) ) == -1   // TBR_EXIT
          EXIT
       ENDIF
    ENDDO

    CLOSE ALL
RETURN


------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
xHarbour-developers mailing list
xHarbour-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xharbour-developers

Reply via email to