Jump to content
Fivewin Brasil

refresh() no redefine say (Solucionado)


cendon

Recommended Posts

Olá pessoal!! Sexta fim de tarde ninguem merece, ja deveria estar tomando umas, mas vamos lá

To com um problema

 

Tenho uma rotina de entrada de dados que funcionava perfeitamente na versão fwh 2.4 porem quando mudei para 6.12

deu o seguinte erro:

 

quando tento atualizar os campos da tela somente são atualizados os campos de get os de say não atualizam, a rotina é simples, tela feita no workshop, mostra alguns gets a alguns say quando clico no botão proximo registro, é feito o skip, carregamento da variavel e refresh(), porem não atualiza os campos que estão com say somente os gets.

 

alguem já passou por isso? Procurei no forum não achei nada parecido.

 

Se alguem puder ajudar.

 

Um abraço

Link to comment
Share on other sites

Não o que acontece não atualiza a variavel da rotina anterior, mesmo ela public

 

 

function testesay()
 
//************** inicaliza contador **************    
	public mcontaa, 
	ocontaa  MCONTAa="0000000"    
	DEFINE   DIALOG oDlg5 FROM 5, 1 TO 15, 50 ;             
	TITLE "Contador de Registros" FONT oFont;                
	
		@ 1, 2 SAY "Contador:" OF oDlg5             
		@ 2, 8 SAY ocontaa VAR mcontaa OF oDlg5        

	ACTIVATE DIALOG oDlg5 nowait  

	somac()
 
************************************************ 
function somac()  
	for i =1 to 10 
************* atualiza contador ************            
		mcontaa=val(mcontaa)+1            
 		mcontaa=strzero(mcontaa,7)            
 		ocontaa:refresh()    
		msgalert("contando: "+mcontaa)
******************************************** 
	next 
	oDlg5:end() 
	return nil
 
Link to comment
Share on other sites

Colega; 

 

 Usa o SysWait neste caso, q funciona...( eu mesmo testei e atualiza certinho)...

 

function somac()  
    for i =1 to 10 
************* atualiza contador ************            
        mcontaa=val(mcontaa)+1            
         mcontaa=strzero(mcontaa,7)            
         ocontaa:refresh() 
       SysWait()
        //msgalert("contando: "+mcontaa)
******************************************** 
    next 
    oDlg5:end() 
    return nil
 

 

@braços Ale

Link to comment
Share on other sites

Neste Caso especifico, nao tem necessidade do VARPUT( mContaa ).....soh o Refresh() ja atualiza o q faltava era o SysWait() para visualizar a atualizaçao.

 

Mas, se kizer colocar....mal tb nao faz..eh soh uma linha A+.

 

@braços Ale

Link to comment
Share on other sites

VarPut no say eu nunca usei. Normalmente uso SetText para funcionar. Como utilizo gtwvw com fivewin, quando tento usar o syswait o sistema as vezes trava.

Ola Ana, sempre usei e funciona tranquilo, basta declarar como MEMVAR
 
 
    MEMVAR  aSaysMoveis
 
    aSaysMoveis := Array(8)
 
 
    // nID = Numero de ID's dos Say's Que Tenho na Dialog
    nIDM := 601  // Para ID de 601 a 607 na Dialog - Says Moveis, Invisiveis
 
    For IDCor := 1 To Len( aSaysMoveis )
       REDEFINE SENSITIVE SAY aSaysMoveis[IDCor] ID nIDM  OF oDlgVendas     ;
                COLORS nRGB( 000, 000, 000 ), nRGB( 135, 206, 235 )         ;
                UPDATE  RAISED  FONT oFont   CENTER
 
       nIDM++
    Next IDCor
 
 
// NA FUNCAO DE ATUALIZACAO, REPITO O SAY COM O QUE EU QUISER...
 
       IF lOrcamentoFornece
          cCaptionSay := OemToAnsi( [ <F7> Fornece: ] )
                                        ÿ
          aSaysMoveis[1]:VARPUT( cCaptionSay ) // ID 601 - TOTAL DA COMPRA
          aSaysMoveis[1]:Refresh()
       ENDIF
 
       // E PODE DAR O REFRESH() TAMBEM.
        oDlgVendas:Refresh()
 
 
Link to comment
Share on other sites

VarPut no say eu nunca usei. Normalmente uso SetText para funcionar. Como utilizo gtwvw com fivewin, quando tento usar o syswait o sistema as vezes trava.

Como a Ana falou, use APENAS o SetText no objeto SAY e NÃO use Refresh após isso que funciona, pelo menos é dessa forma que trabalhamos e não temos nenhum problema, como tínhamos antigamente quando não usávamos SetText.

 

obs.: não sei pq quando usa settext e refresh, acaba não atualizando, vai entender (use só o settext).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...