Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Esta classe constrói uma interface padrão de processamento, seja ele em grid ou não.
Entende-se por processamento em grid o processamento que pode ser divido de tal forma que as partes unitárias não tenham dependências entre si. Por exemplo
a um processamento realiza uma seleção de registros em uma tabela de domínio e para cada conjunto de registros desta tabela um transação pode ser disparada.

 


Método construtor da classe.


FWGridProcess(): New ( ) -->


oGrid := FWGridProcess():New()

 


Método de ativação da classe. Quando a classe é ativada a interface de
configuração é ativada.
Este método deve ser utilizado para parametrizar a classe.

 

FWGridProcess():Activate (oDlg) -->

NomeTipoDescriçãoObrigatório Referencia
oDlgObjetoContainer da interface gráficaX 

 


 

Método de desativação da classe. Quando a classe é desativada, os dados
de configuração são perdidos e devem ser refeitos.
Este método deve ser utilizado para reparametrizar a classe.

 

FWGridProcess() DeActivate () -->


 

 

//Exemplo de uso de Grid
User Function testeba()
RpcSetEnv("99","01")
__cInterNet := Nil
oGrid:=FWGridProcess():New("MATA330","teste","teste do processamento",{|lEnd| u_testeba1(oGrid,@lEnd)},"MTA330","u_testeba2")
oGrid:SetMeters(2)
oGrid:SetThreadGrid(5)
oGrid:Activate()
If oGrid:IsFinished()
alert("fim")
Else
alert("fim com erro")
EndIf

Return

User Function Testeba1(oGrid,lEnd)
Local nX,nY

oGrid:SetMaxMeter(4,1,"teste1")
For nX := 1 To 4
oGrid:SetMaxMeter(10,2,"teste2")
For nY := 1 To 10
If !oGrid:CallExecute("callexecute is load",Iif(nX==5.And.nY==10,0,1))
lEnd := .T.
EndIf
oGrid:SetIncMeter(2)
If lEnd
Exit
EndIf
Next nY
If lEnd
Exit
EndIf
oGrid:SetIncMeter(1)
Next nX
Return

//Exemplo de uso de sem Grid
User Function Testebc2(oGrid,lEnd)
Local nX,nY

oGrid:SetMaxMeter(4,1,"teste1")
For nX := 1 To 4
oGrid:SetMaxMeter(10,2,"teste2")
For nY := 1 To 10
oGrid:SetIncMeter(2)
If lEnd
Exit
EndIf
Sleep(1000)
Next nY
If lEnd
Exit
EndIf
oGrid:SetIncMeter(1)
Next nX
Return

User Function Testeba2(cParm,lErro)

Sleep(10000)
Return(.T.)