Error con XBrowse y nEditType

Error con XBrowse y nEditType

Postby jfafive » Mon Aug 04, 2008 11:58 am

Hola a todos,

Tengo dos XBrowse que los invoco a traves de un Folder, es decir:

Code: Select all  Expand view
REDEFINE FOLDER oTab ID ID_TAB OF oDlg ;
   PROMPTS "XBRW1", "XBRW2" ;
   DIALOGS "BROWSE_DLG", "BROWSE_DLG2" OPTION 1


Al carga la siguiente linea en el segundo browse...

Code: Select all  Expand view
oBrw1:aCols[1]:nEditType   := EDIT_BUTTON
oBrw2:aCols[1]:nEditType   := EDIT_BUTTON


Me da un error diciendo que no existe el metodo Eval... error que no aparece cuando hice lo mismo con oBrw1.

Al parecer, si hago focus sobre el folder 2, como sigue....

Code: Select all  Expand view
oBrw1:aCols[1]:nEditType   := EDIT_BUTTON
oTab:SetOption( 2 )
oBrw2:aCols[1]:nEditType   := EDIT_BUTTON



... ya no se produce el error. Es como si el browse que estás tratando, tuviese que estar activo en la pantalla.

Mi pregunta es, ¿hay algún modo de asignar el EDIT_BUTTON, sin tener que verse como se cambia solo de Folder1 a Folder2 ?

:?

[/code]
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Postby Antonio Linares » Mon Aug 04, 2008 1:36 pm

Javier,

Puedes mostrar el código que has usado para crear los browses ( REDEFINE XBROWSE ... ) ? gracias
regards, saludos

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

Postby jfafive » Mon Aug 04, 2008 9:18 pm

Aquí está:

Code: Select all  Expand view
REDEFINE XBROWSE oBrw  ARRAY aDatos  ID ID_BRW 
OF oTab:aDialogs[1]
REDEFINE XBROWSE oBrw2 ARRAY aDatos2 ID ID_BRW2
OF oTab:aDialogs[2]
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Postby Antonio Linares » Tue Aug 05, 2008 4:00 am

Javier,

Añade esta cláusula a cada uno de ellos:

REDEFINE XBROWSE oBrw ARRAY aDatos ID ID_BRW
OF oTab:aDialogs[1] AUTOCOLS

REDEFINE XBROWSE oBrw2 ARRAY aDatos2 ID ID_BRW2
OF oTab:aDialogs[2] AUTOCOLS
regards, saludos

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

Postby jfafive » Tue Aug 05, 2008 8:51 am

Ya lo he puesto,
pero no noto ningún cambio.

Lo he probado quitando el oTab:SetOption(1), y vuelve a dar el error.
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Postby Antonio Linares » Wed Aug 06, 2008 8:14 am

Javier,

A ver si te sirve este ejemplo :-)

Test.prg
Code: Select all  Expand view
#include "FiveWin.ch"
#include "XBrowse.ch"

function Main()

   local oDlg, oFld, oBrw1, oBrw2
   local aDat1, aDat2

   aDat1:={{"Row1-Col1","Row1-Col2","Row1-Col3"},;
                 {"Row2-Col1","Row2-Col2","Row2-Col3"},;
                 {"Row3-Col1","Row3-Col2","Row3-Col3"},;
                 {"Row4-Col1","Row4-Col2","Row4-Col3"}}

   aDat2:={{"ROW1-COL1","ROW1-COL2","ROW1-COL3"},;
                 {"ROW2-COL1","ROW2-COL2","ROW2-COL3"},;
                 {"ROW3-COL1","ROW3-COL2","ROW3-COL3"},;
                 {"ROW4-COL1","ROW4-COL2","ROW4-COL3"}}

   DEFINE DIALOG oDlg RESOURCE "Test"

   REDEFINE FOLDER oFld ;
      PROMPTS "One", "Two" ;
      DIALOGS "One", "Two" ;
      ID 100 OF oDlg

   REDEFINE XBROWSE oBrw1 ID 10 OF oFld:aDialogs[ 1 ] ARRAY aDat1 AUTOCOLS

   REDEFINE XBROWSE oBrw2 ID 10 OF oFld:aDialogs[ 2 ] ARRAY aDat2 AUTOCOLS

   oBrw1:aCols[ 2 ]:nEdittype := EDIT_GET
   oBrw2:aCols[ 2 ]:nEdittype := EDIT_GET

   ACTIVATE DIALOG oDlg CENTERED

return nil


test.rc
Code: Select all  Expand view
#ifdef _FLAT_
1 24 "WindowsXP.Manifest"
#endif

test DIALOG 17, 36, 185, 147
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Test"
FONT 8, "MS Sans Serif"
{
CONTROL "", 100, "SysTabControl32", 0 | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 5, 6, 175, 117
DEFPUSHBUTTON "OK", 1, 67, 128, 50, 14
}

one DIALOG 6, 15, 175, 117
STYLE WS_CHILD | WS_VISIBLE
FONT 8, "MS Sans Serif"
{
CONTROL "", 10, "TXBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL, 4, 4, 168, 110
}

two DIALOG 6, 15, 175, 117
STYLE WS_CHILD | WS_VISIBLE
FONT 8, "MS Sans Serif"
{
CONTROL "", 10, "TXBrowse", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL, 4, 4, 168, 110
}

Si cambias de EDIT_GET a EDIT_BUTTON debe funcionar bien. Pero si quitas AUTOCOLS entonces no funcionará :-)
regards, saludos

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

Postby Antonio Linares » Wed Aug 06, 2008 8:32 am

Javier,

Tambien hemos hecho unos cambios en la clase TXBrowse para que si estas en modo edición y pulsas ESC, la edición se cancele, pero no se salga del diálogo.
regards, saludos

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


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Antonio Linares and 42 guests