Página 1 de 1

Erro no Browse -> ONCHANGE

Enviado: 24 Jan 2013 21:26
por Vandi
Boa noite,

Mais uma vez venho pedir a ajuda dos colaboradores desse grupo.
Tenho uma rotina com o seguinte browse:

Código: Selecionar todos

		
     DEFINE TOOLBAR ToolBar_1 BUTTONSIZE 90,32 FONT "Arial" SIZE 9 FLAT RIGHTTEXT
     BUTTON Cerrar    CAPTION _HMG_aABMLangButton[1]  PICTURE "MINIGUI_EDIT_CLOSE"  ACTION Form_1.RELEASE
     BUTTON Nuevo   CAPTION _HMG_aABMLangButton[2]  PICTURE "MINIGUI_EDIT_NEW"  ACTION ( modo:='1', IncluiAltera())
     BUTTON Modificar CAPTION _HMG_aABMLangButton[3]  PICTURE "MINIGUI_EDIT_EDIT"   ACTION ( modo:='2', nRec:=S2->COD2, msginfo(nRec))    //IncluiAltera(nRec*10) )        AUTOSIZE
     BUTTON Eliminar  CAPTION _HMG_aABMLangButton[4]  PICTURE "MINIGUI_EDIT_DELETE" ACTION MsgInfo('rotina4')
     BUTTON Buscar    CAPTION _HMG_aABMLangButton[5]  PICTURE "MINIGUI_EDIT_FIND"   ACTION MsgInfo('rotina5')
     BUTTON Imprimir  CAPTION _HMG_aABMLangButton[16] PICTURE "MINIGUI_EDIT_PRINT"  ACTION MsgInfo('rotina6')
     END TOOLBAR

     @ 50,10 BROWSE Browse_1	;
	  WIDTH 870  	;
	  HEIGHT 390 	;	
	  HEADERS { 'Codigo' , 'Nome' , 'Empresa' , 'Funcao', 'CTPS', 'Serie' , 'UF' } ;
	  WIDTHS { 60 , 264 , 200 , 164 , 70 , 60 , 30 } ;
	  WORKAREA S2 ;
	  FIELDS { 'S2->Cod2' , 'S2->Name' , 'If( S1->(DbSeek(left(S2->Cod2,3))) , AllTrim(Left(S1->Empr,30)) , Nil )',     'S2->Carg' , 'S2->CTTR' , 'S2->Seri' , 'S2->UfEm' } ;
                 JUSTIFY { BROWSE_JTFY_CENTER ,,,, BROWSE_JTFY_CENTER, BROWSE_JTFY_CENTER, BROWSE_JTFY_CENTER } ;
                 VALUE 1 ;
                 ON CHANGE Actualizar() ;
                 DELETE
A procedure Actualizar é a seguinte:

Código: Selecionar todos

*****************************
Function Actualizar
***************************************
    
	Form_1.Browse_1.Value := RecNo()

Return Nil
Porém, quando da execução do programa, ao carregar o browse, ocorre o seguinte erro:

BROWSE: Value property can't be changed inside ONCHANGE event.

Alguém pode me dizer como solucionar esse problema?

Agradecimentos,

Gilvandi

Erro no Browse -> ONCHANGE

Enviado: 25 Jan 2013 09:30
por Pablo César
Oi Givaldi, experimente utilizar value recno() na definição do seu browser. E na função Actualizar, antes dessa linha coloque dbgoto(Form_1.Browse_1.Value) depois Form_1.Browse_1.Value := RecNo()

Faltou dizer qual é a versão da sua ferramenta.

Erro no Browse -> ONCHANGE

Enviado: 25 Jan 2013 13:53
por Vandi
Pablo,
Boa tarde...

Mais uma vez, obrigado pela atenção dispensada.
Fiz as alterações como você disse. O erro já não aparece mais, até aí tudo bem. Acontece que tem um detalhe que eu esqueci de dizer anteriormente e continua ocorrendo: na tela do browse quando seleciono qualquer registro e depois clico no botão Editar/Alterar, na tela seguinte aparecem sempre os dados do primeiro registro do arquivo e não os dados do registro que eu selecionei.
Por que motivo isso está ocorrendo?

Agradecimento,

Gilvandi...

Erro no Browse -> ONCHANGE

Enviado: 25 Jan 2013 14:03
por Pablo César
Você pode adicionar a sua função de edição para que posicione-se no registro onde está o focus. Na verdade você a seleção é apenas visual. Se a opção de selecionar registros estiver habilitada, você pode tratar os itens selecionados para edição.

Erro no Browse -> ONCHANGE

Enviado: 29 Jan 2013 16:12
por Vandi
:D Pablo, :D
Boa tarde...

Problema resolvido!!! Apesar de ainda ter quebrado um pouco a cabeça.
Valeu pelas dicas!!!!!!


Obrigado,

Gilvandi