Versões comparadas

Chave

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

...

lCanUse lógico, se verdadeiro,  o bulk está disponível para uso.


Obs.: Este método não depende da classe FWBulk ser inicializada por New, por este motivo, deve-se utilizar FWBulk():CanBulk()


...



Exemplo:


Bloco de código
languagejs
themeRDark
titleExemplo
User Function myBulk()
 
    	Local oBulk as object
    	Local aStruct as array 
    	Local nX as numeric 
	Local 
lCanUseBulk    as logical

	aStruct := {}
 
    	aAdd( aStruct, { 'FIELD1', 'C', 10, 0 } )
    aAdd( aStruct, { 'FIELD2', 'N', 10, 2 } )
    	aAdd( aStruct, { 'FIELD3', 'M', 10, 0 } )
    	aAdd( aStruct, { 'FIELD4', 'D', 8, 0 } )
    	aAdd( aStruct, { 'FIELD5', 'L', 1, 0 } )
 
    FWDBCreate( 'BULKTBL', aStruct , 'TOPCONN' , .T.)
 
    	oBulk := FwBulk():New('BULKTBL',2)
	lCanUseBulk := FwBulk():CanBulk() // Este método não depende da classe FWBulk ser inicializada por NEW
	if lCanUseBulk
		oBulk:SetFields(aStruct)
    
    endif

	For nX := 1 to 5        
        
		if lCanUseBulk		
			oBulk:AddData({cValToChar(nX),(nX,nX),cValToChar(nX),Date(),mod(nX,2)==0})
		else
			RecLock("BULKTBL",.T.)
				BULKTBL->FIELD1     := cValToChar(nX)
				BULKTBL->FIELD2    Next
	:= (nX,nX)
				BULKTBL->FIELD3    oBulk	:Close= cValToChar(nX)
				BULKTBL->FIELD4    oBulk	:Destroy= Date() 
				BULKTBL->FIELD5    	:= mod(nX,2)==0 
			MsUnLock()
		endif		
	Next
	if lCanUseBulk
		oBulk:Close()
		oBulk:Destroy()
		oBulk := nil
	endif
Return