Jump to content
Fivewin Brasil

Aplicação "não respondendo"


ram_bh

Recommended Posts

A dica do nosso amigo Kleyber, é utilizada para não tornar o processamento lerdo.

Daniel Segura

Lamentavelmente, pela primeira vez, vou discordar veementemente(kkkkkkkkkk) do meu querido Kleyber Derick, primeiro, que ele nunca vai manjar mais de FiveWin, do que eu!!! kkkkkkkkkkkkkkkkkkkkkkkk, e Daniel Segura: puxa saco e tiririca, tem em todo lugar! kkkkkkkkkkkkkkkkkkkkkkk

vejam exemplos:

http://wiki.fivetechsoft.com/doku.php?id=fivewin_class_tftpfile

Brincadeiras, friends! abs.

Link to comment
Share on other sites

Olás!

Comentário: ao incluir a linha SysRefresh() dentro do loop a aplicação na fica "presa" na execução, o usuário tem acesso às demais opções do menu. Pelo menos na minha aplicação ficou assim...

É assim mesmo!?

Obrigado e um abraço a todos!

Rodrigo Melo

Link to comment
Share on other sites

Olás!

Comentário: ao incluir a linha SysRefresh() dentro do loop a aplicação na fica "presa" na execução, o usuário tem acesso às demais opções do menu. Pelo menos na minha aplicação ficou assim...

É assim mesmo!?

Obrigado e um abraço a todos!

Rodrigo Melo

Não deveria, a não ser que voce use janela(window) não MDI. Você pode bloquear a saida do WHILE... ENDDO, retirando o ESCAPE de controle do Usuário. Reveja o WHILE... ENDDO. Eu acho.

Link to comment
Share on other sites

  • 2 years later...

kapi, é assim que geralmente faço meus xBrowse

 



FUNCTION SysLog_Destino(_modulo)
***********************
local oDlg
local oWND
local oBrw
local n
local oBar
public  mFrota, mPlaca, mwfrota, mCarreta1, mPlacac, mwcarreta, mMotoris, mNomeMotoris, mwmotoris, mtipoFrota, mCodigoViagem, mChaveGR
PRIVATE mSairFora := "ESC"
private mOrder := 1
n2Say         := "CODIGO"
nSay          := "CODIGO"
m_titulo      := _sistema + " - " + _MODULO + " - PROGRAMAÇÃO DE DESTINOS DE VIAGENS " 
morder        := 1
mTipoBrowse   := "FW"
aEvento       := {}
mDthoje       := date()
mHrHoje       := time()
mQtdeFrota    := "30000"
mTipoOpe      := "13"
mcodigoViagem := mChaveGR := ""
lAvisouMot    := .f.
mDataCarga   := date() && prog_destino->tipo_ep
mHoraCarga   := time() && prog_destino->tipo_ep   
mDataPrev    := date() && prog_destino->tipo_ep
mHoraPrev    := time() && prog_destino->tipo_ep         
mDataSaida   := date() && prog_destino->tipo_ep
mHoraSaida   := time() && prog_destino->tipo_ep   

mtimeline     := dtos(mdthoje)+mHrHoje
aTipoMov      := { {"C","Chegada"},;
                 {"S","Saida"},;
                 {"P","Parada"},;
                 {"R","Retormada"}}

/*
eventos->(dbGoTop())
DO While !eventos->(EOF())
   aadd(aEvento,eventos->codigo + " " + eventos->nome)          
   eventos->(dbSkip())
   Loop
ENDDO
*/
openfile("empresa","empresa","N","S","xcodigo")
openfile("locais","origem","N","S","xcodigo")
openfile("locais","destino","N","S","xcodigo")
openfile("locais","troca","N","S","xcodigo")
openfile("tipoesp","tipoesp","N","S","xcodigo")
openfile("filial","filial","N","S","xchave")
openfile("frota","frota","N","S","xcodigo")
openfile("tipotab","tipotab","N","S","xcodigo")
openfile("motoris","motoris","N","S","xcodigo")
openfile("prog_pgr","prog_pgr","N","S","xchavev")
openfile("prog_passagem","prog_passagem","N","S","xchacar")
openfile("prog_classe","prog_classe","N","S","xcodigo")
openfile("prog_rotas","prog_rotas","N","S","xcodigo")
openfile("prog_viagem","prog_viagem","N","S","xchaarq")
dbselectarea("prog_viagem")
dbsetrelation("motoris",  {||prog_viagem->motoris}, "prog_viagem->motoris")
dbsetrelation("tipotab",  {||prog_viagem->tipotab},  "prog_viagem->tipotab")
dbsetrelation("tipoesp",  {||prog_viagem->tipoesp},  "prog_viagem->tipoesp")
openfile("prog_destcarga","prog_destcarga","N","S","xchaarq")
openfile("prog_origem","prog_origem","N","S","xchaarq")
openfile("prog_destino","prog_destino","N","S","xchaarq")
dbsetrelation("tipoesp",  {||prog_destino->tipoesp}, "prog_destino->tipoesp")
dbsetrelation("tipotab",  {||prog_destino->tipotab}, "prog_destino->tipotab")
dbsetrelation("empresa",  {||prog_destino->empresa}, "prog_destino->empresa")
dbsetrelation("filial",   {||prog_destino->filial }, "prog_destino->filial")
dbsetrelation("origem",   {||prog_destino->origem }, "prog_destino->origem")
dbsetrelation("destino",  {||prog_destino->destino}, "prog_destino->destino")
dbselectarea("prog_destino")
mData := date()
dbseek(mdata)        
mChaveord := prog_destino->chave
dbselectarea("prog_viagem")
prog_viagem->( dbseek(mChaveord))
ORDSCOPE(TOPSCOPE,mChaveord)
ORDSCOPE(BOTTOMSCOPE,mchaveord)
dbselectarea("prog_destino")
dbseek(mdata)      
filtra_operacao(Alias(select()))  

DEFINE BRUSH oBru  RESOURCE "fundo"
DEFINE DIALOG oDlg PIXEL  FONT oBold TITLE ".:: "+m_titulo +" ::."
   oDlg:lHelpIcon    := .F.
   oDlg:nTop         := nTopDlg
   oDlg:nLeft        := 5
   oDlg:nBottom      := GetSysMetrics(17) - 10
   oDlg:nRight       := GetSysMetrics(16) - 10
   oDlg:nStyle       := nOR( DS_MODALFRAME, WS_POPUP, WS_CAPTION )


  bFiltraPos  := {|| mChaveord := prog_destino->chave, dbselectarea("prog_viagem"), prog_viagem->( dbseek(mChaveord)), ORDSCOPE(TOPSCOPE,mChaveord),ORDSCOPE(BOTTOMSCOPE,mchaveord)  ,;
                    oBrw2:nRowSel := 1 ,;
                    oBrw2:Refresh(.T.)  }

*****--- Browse - xBrowse Nativa ---********************************************
   oBrw:= TXBrowse():new( oDlg )
   oBrw:CreateFromCode()
   oBrw:nTop   := 50       
   oBrw:nLeft  := 10       
   oBrw:nBottom:= (((oDlg:nHeight())/2 -10)/4) * 3   
   oBrw:nRight := (oDlg:nWidth())/2 -10      
   oBrw:cAlias := "prog_destino"    
   oBrw:SetRdd(.F.)       


   oBrw:nMarqueeStyle       := MARQSTYLE_HIGHLROW  //-------------> Estilo da barra de seleçao.       
   oBrw:bClrSelFocus        := {|| { CLR_WHITE, nRGB( 000, 100, 255 ) } }  //--> Cor da barra de seleçao.
*   oBrw:nClrText:={|| IIF(prog_destino->situacao<>'D',CLR_BLUE,CLR_WHITE) }
*   oBrw:bClrStd:={||  IIF(prog_destino->situacao<>'D',{CLR_BLUE, CLR_WHITE},{CLR_RED , CLR_WHITE}) }   
*   oBrw:bClrStd :={|| IIF(prog_destino->QTVI>prog_destino->QTVIPROG,{CLR_BLACK, CLR_YELLOW},{CLR_BLUE, CLR_WHITE}) }      
   oBrw:nColDividerStyle    := LINESTYLE_BLACK
   oBrw:nRowDividerStyle    := LINESTYLE_BLACK
   oBrw:nHeaderLines        := 01   //----------------------------> Linhas do Cabecalho.
   oBrw:lAllowColSwapping   := .F.  //----------------------------> Trocar Colunas             
   oBrw:lAllowRowSizing     := .F.  //----------------------------> Nao move as Linhas   
   oBrw:lHScroll            := .T.  //----------------------------> Barra Rolagem Horiz.
   oBrw:lFooter             := .T.   
   oBrw:l2007               := .T.      
   oBrw:bChange             := { || eval(bFiltrapos), oDlg:UpDate()}

   oCol:=obrw:addcol()       
   oCol:bStrdata:={||dtoc(prog_destino->data)}       
   oCol:cHeader:="DATA"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
   oCol:nEditType  := EDIT_GET   
   
   
   oCol:=obrw:addcol()       
*   oCol:bStrdata:={||SUBSTR(tipotab->nome,1,15)}       
   oCol:bStrdata:={||SUBSTR(prog_destino->ntipotab,1,15)}          
   oCol:cHeader:="CLIENTE"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   

   oCol:=obrw:addcol()       
*   oCol:bStrdata:={||prog_destino->tipoesp+prog_destino->tipoesp+" - "+SUBSTR(tipoesp->nome,1,15)}       
*   oCol:bStrdata:={||SUBSTR(tipoesp->nome,1,15)}       
   oCol:bStrdata:={||SUBSTR(prog_destino->ntipoesp,1,15)}          
   oCol:cHeader:="PRODUTO"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   

   oCol:=obrw:addcol()       
*   oCol:bStrdata:={||prog_destino->origem+" - "+SUBSTR(prog_destino->nORIGEM,1,20)}       
   oCol:bStrdata:={||SUBSTR(prog_destino->nOrigem,1,20)}       
   oCol:cHeader:="ORIGEM"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   


   oCol:=obrw:addcol()       
   *oCol:bStrdata:={|| prog_destino->DESTINO+" - "+SUBSTR(prog_destino->nDESTINO,1,20)}       
   oCol:bStrdata:={|| SUBSTR(prog_destino->nDestino,1,20)}       
   oCol:cHeader:="DESTINO"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   

   oCol:=obrw:addcol()       
   oCol:bStrData   := { || iif( prog_destino->situacao="A", "Ativo", "Em Viagem")}      
   oCol:cHeader:="SITUACAO"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   


   oCol:=obrw:addcol()       
   oCol:AddResource( "VERMELHO" )   
   oCol:AddResource( "AMARELO" )
   oCol:AddResource( "VERDE" )
   oCol:AddResource( "AZUL" )
   oCol:cHeader:="SolxPrg"          
   oCol:bBmpData   := { || iif( prog_destino->sit_sp="1", 1, ;
                           iif( prog_destino->sit_sp="2", 2, ;
                           iif( prog_destino->sit_sp="3", 3, 4 ))) }
   oCol:bStrData   := { ||  prog_destino->sit_sp }   
   oCol:nDataBmpAlign := 3
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   

   oCol:=obrw:addcol()       
   oCol:AddResource( "VERMELHO" )   
   oCol:AddResource( "AMARELO" )
   oCol:AddResource( "VERDE" )
   oCol:AddResource( "AZUL" )
   oCol:cHeader:="PrgxCarr"          
   oCol:bBmpData   := { || iif( prog_destino->sit_pc="1", 1, ;
                           iif( prog_destino->sit_pc="2", 2, ;
                           iif( prog_destino->sit_pc="3", 3, 4 ))) }
   oCol:bStrData   := { ||  prog_destino->sit_pc }   
   oCol:nDataBmpAlign := 3
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   


   oCol:=obrw:addcol()       
   oCol:bStrdata:={||transform(prog_destino->qtde,"@E 999,999,999")}       
   oCol:cHeader:="QTDE PEDIDA"     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   

   oCol:=obrw:addcol()       
   oCol:bStrdata:={||transform(prog_destino->qtvi,"@E 999")}       
   oCol:cHeader:="VIAGENS"     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
*   oCol:bClrStd = { || if(prog_destino->qtviprog >= prog_destino->qtvi, ;
*                         { CLR_WHITE, CLR_GREEN },  if(prog_destino->qtviprog > 0,;
*                         { CLR_BLACK, CLR_YELLOW }, if(prog_destino->qtviprog = prog_destino->qtvicarga,;
   oCol:bClrStd = { ||   iif( prog_destino->sit_sp="1", { CLR_WHITE, CLR_RED }, ;
                         iif( prog_destino->sit_sp="2", { CLR_BLACK, CLR_YELLOW }, ;
                         iif( prog_destino->sit_sp="3", { CLR_WHITE, CLR_GREEN }, { CLR_WHITE, CLR_BLUE } ))) }
   /*
   oCol:=oBrw:AddCol()
   oCol:AddResource("VERDE")
   oCol:AddResource("VERMELHO")
   oCol:AddResource("AMARELO")
   oCol:AddResource("AZUL")
   
   oCol:cHeader  := "STATUS"
   oCol:bBmpData   := { || iif( PROG_VIAGEM->Married, 1, 2) }
   oCol:bStrData   := { || iif( _FIELD->Married, "Yes", "No ")}
   oCol:bEditValue := { || _FIELD->Married }
   oCol:nDataStyle := oCol:DefStyle( AL_RIGHT, .T.)
   oCol:nEditType := EDIT_LISTBOX
   oCol:aEditListTxt   := { "Yes", "No"}
   oCol:aEditListBound := { .t., .f. }
   oCol:bOnPostEdit := {|o, v| (DBRLOCK(), _FIELD->Married := v, DBUNLOCK() ) }
     */

   
   oCol:=obrw:addcol()       
   oCol:bStrdata:={||transform(prog_destino->qtdeprog,"@E 999,999,999")}       
   oCol:cHeader:="QTDE PROG."     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3      

   oCol:=obrw:addcol()       
   oCol:bStrdata:={||transform(prog_destino->qtviprog,"@E 999")}       
   oCol:cHeader:="V.PROG"     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
   oCol:bClrStd = { ||   iif( prog_destino->sit_pc="1", { CLR_WHITE, CLR_RED }, ;
                         iif( prog_destino->sit_pc="2", { CLR_BLACK, CLR_YELLOW }, ;
                         iif( prog_destino->sit_pc="3", { CLR_WHITE, CLR_GREEN }, { CLR_WHITE, CLR_BLUE } ))) }
   oCol:=obrw:addcol()       
   oCol:bStrdata:={||transform(prog_destino->qtdecarga,"@E 999,999,999")}       
   oCol:cHeader:="QTDE CARREG."     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   

   oCol:=obrw:addcol()       
   oCol:bStrdata:={||transform(prog_destino->qtvicarga,"@E 999")}       
   oCol:cHeader:="V.CARG"     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
   oCol:bClrStd = { ||   iif( prog_destino->sit_pc="1", { CLR_WHITE, CLR_RED }, ;
                         iif( prog_destino->sit_pc="2", { CLR_BLACK, CLR_YELLOW }, ;
                         iif( prog_destino->sit_pc="3", { CLR_WHITE, CLR_GREEN }, { CLR_WHITE, CLR_BLUE } ))) }


   oCol:=obrw:addcol()       
   oCol:bStrdata:={||transform(prog_destino->qtdecarga-prog_destino->qtde,"@E 999,999,999")}       
   oCol:cHeader:="QTDE A CARG"     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
*   oBrw:CreateFromCode()

   oCol:=obrw:addcol()       
   oCol:bStrdata:={||transform(prog_destino->qtVIcarga-prog_destino->qtVI,"@E 999,999,999")}       
   oCol:cHeader:="V.A CARG"     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
   oBrw:nFreeze:=2

**************************************************************2 xbrowse
   oBrw2:= TXBrowse():new( oDlg )
   oBrw2:CreateFromCode()   
   oBrw2:nTop   := oBrw:nBottom + 1
   oBrw2:nLeft  := 10 && oBrw:nLeft      
   oBrw2:nBottom:= (oDlg:nHeight())/2 -10   && 10
   oBrw2:nRight := ((oDlg:nWidth())/2 -10 )/2     
   oBrw2:cAlias := "prog_viagem"    
   oBrw2:SetRdd(.F.)       
   
   oBrw2:nMarqueeStyle       := MARQSTYLE_HIGHLROW  //-------------> Estilo da barra de seleçao.       
   oBrw2:bClrSelFocus        := {|| { CLR_WHITE, nRGB( 000, 100, 255 ) } }  //--> Cor da barra de seleçao.
*   oBrw:nClrText:={|| IIF(prog_destino->situacao<>'D',CLR_BLUE,CLR_WHITE) }
*   oBrw:bClrStd:={||  IIF(prog_destino->situacao<>'D',{CLR_BLUE, CLR_WHITE},{CLR_RED , CLR_WHITE}) }   
*   oBrw2:bClrStd :={|| IIF(prog_destino->situacao='D',{CLR_RED , CLR_WHITE},{CLR_BLUE, CLR_WHITE}) }      
   oBrw2:nColDividerStyle    := LINESTYLE_BLACK
   oBrw2:nRowDividerStyle    := LINESTYLE_BLACK
   oBrw2:nHeaderLines        := 01   //----------------------------> Linhas do Cabecalho.
   oBrw2:lAllowColSwapping   := .F.  //----------------------------> Trocar Colunas             
   oBrw2:lAllowRowSizing     := .F.  //----------------------------> Nao move as Linhas   
   oBrw2:lHScroll            := .T.  //----------------------------> Barra Rolagem Horiz.
   oBrw2:lFooter             := .T.   
   oBrw2:l2007               := .T.      


   oCol:=obrw2:addcol()       
   oCol:bStrdata:={|| PROG_VIAGEM->CARRETA }       
   oCol:cHeader:="CARRETA"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
   oCol:nEditType  := EDIT_GET   
   
   oCol:=obrw2:addcol()       
   oCol:bStrdata:={|| prog_viagem->frota}       
   oCol:cHeader:="FROTA"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
   oCol:nEditType  := EDIT_GET   


   oCol:=obrw2:addcol()       
   oCol:bStrdata:={||iif(prog_viagem->situacao="A","ATIVA   ","EM VIAGEM")}       
   oCol:cHeader:="SITUACAO"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   


   oCol:=obrw2:addcol()       
   oCol:bStrdata:={||transform(prog_viagem->qtde,"@E 999,999,999")}       
   oCol:cHeader:="QTDE PROG."     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   

   oCol:=obrw2:addcol()       
   oCol:bStrdata:={||transform(prog_viagem->qtdenota,"@E 999,999,999")}       
   oCol:cHeader:="QTDE CARREGADA"     
   oCol:nDataStrAlign := AL_RIGHT     
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
   
   oCol:=obrw2:addcol()       
   oCol:bStrdata:={|| prog_viagem->MOTORIS+"-"+substr(motoris->nome,1,15) }       
   oCol:cHeader:="MOTORISTA"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   

   oCol:=obrw2:addcol()       
   oCol:bStrdata:={|| prog_viagem->idlanc }       
   oCol:cHeader:="reg viagem"       
   oCol:oDataFont := oFont4
   oCol:oHeaderFont := oFont3   
   
*   oBrw2:CreateFromCode()
   oBrw2:nFreeze:=2
   

*   oCol:=obrw:addcol()       
*   oCol:bStrdata:={|| IIF(dtos(date())+tiratraco(time())>dtos(prog_destino->dataf)+tiratraco(prog_destino->horaf),"Disponivel","Indisponivel") }       
*   oCol:cHeader:="SITUACAO"       
   

/*  EXEMPLO DE PICTURE COM VALOR
   oCol:=obrw:addcol()       
   oCol:bStrdata:={||transform(financa->valor,"@E 999,999,999.99")}       
   oCol:cHeader:="VALOR DOCTO"     
   oCol:nDataStrAlign := AL_RIGHT     
*/

   oDlg:bKeyDown := {|nKey| Teclas( nKey ),oBrw:Refresh(),oBrw:SetFocus() }
   
   
   @ 00,07     GROUP oGrp2 to 41, 380 LABEL "Ação"      PIXEL OF oDlg     transparent 
   @ 00,400    GROUP oGrp2 to 20, 490 LABEL "Ordem"      PIXEL OF oDlg     transparent    
   @ 21,400    GROUP oGrp1 to 41, 490 LABEL "Navegação" PIXEL OF oDlg     transparent    
   @ 08,410    SAY oSay VAR n2Say                          SIZE 50,12 PIXEL  FONT oBold update    transparent adjust    OF oDlg 
   @ 29,410    BTNBMP  OF oDlg PROMPT ""          TOOLTIP "Primeiro Registro"            RESOURCE "T_PRIMEIRO"  2007 ACTION (oBrw:GoTop(),oBrw:SetFocus())   SIZE 12, 12  PIXEL FONT oFont1  
   @ 29,426    BTNBMP  OF oDlg PROMPT ""          TOOLTIP "Anterior"                     RESOURCE "t_anterior" 2007 ACTION (oBrw:GoUp(),oBrw:SetFocus())   SIZE 12, 12  PIXEL FONT oFont1   
   @ 29,442    BTNBMP  OF oDlg PROMPT ""          TOOLTIP "Seguinte"                     RESOURCE "t_proximo"  2007 ACTION (oBrw:GoDown(),oBrw:SetFocus())  SIZE 12, 12  PIXEL FONT oFont1  
   @ 29,458    BTNBMP  OF oDlg PROMPT ""          TOOLTIP "Ultimo"                       RESOURCE "t_ultimo"   2007 ACTION (oBrw:Gobottom(),oBrw:Setfocus()) SIZE 12, 12  PIXEL FONT oFont1 
   @ 29,474    BTNBMP  OF oDlg PROMPT ""          TOOLTIP "Desfaz"                       RESOURCE "t_desfaz"   2007 ACTION (oBrw:Refresh(),oBrw:SetFocus())  SIZE 12, 12  PIXEL FONT oFont1 

   @ 08,10    BTNBMP  OF oDlg PROMPT "Incluir"    TOOLTIP "Incluir Prog. Destinos"       RESOURCE "incluir"      2007 ACTION {SysLog_Destino_I2("I"),oBrw:Refresh(),oBrw2:Refresh(),oBrw:SetFocus(),oSay:refresh()}  SIZE 30, 30 PIXEL FONT oFont2   
   @ 08,40    BTNBMP  OF oDlg PROMPT "Excluir"    TOOLTIP "Excluir Prog. Destinos"       RESOURCE "excluir"      2007 ACTION {SysLog_Destino_x("X"),oBrw:Refresh(),oBrw2:Refresh(),oBrw:SetFocus(),oSay:refresh()}  SIZE 30, 30 PIXEL FONT oFont2 
   @ 08,70    BTNBMP  OF oDlg PROMPT "Alterar"    TOOLTIP "Alterar Dados Destinos"       RESOURCE "alterar"      2007 ACTION {SysLog_Destino_A("A"),oBrw:Refresh(),oBrw2:Refresh(),oBrw:SetFocus(),oSay:refresh()}  SIZE 30, 30 PIXEL FONT oFont2  
   @ 08,100   BTNBMP  OF oDlg PROMPT "Buscar"     TOOLTIP "Procurar"                     RESOURCE "procurar"     2007 ACTION {SysLog_Destino_f("A"),oBrw:Refresh(),oBrw2:Refresh(),oBrw:SetFocus(),oSay:refresh()}  SIZE 30, 30 PIXEL FONT oFont2 
   @ 08,130   BTNBMP  OF oDlg PROMPT "Ordem"      TOOLTIP "Ordem Pesquisa"               RESOURCE "index"        2007 ACTION {SysLog_Destino_o("A"),oBrw:Refresh(),oBrw2:Refresh(),oBrw:SetFocus(),oSay:refresh()}  SIZE 30, 30 PIXEL FONT oFont2    
   @ 08,160   BTNBMP  OF oDlg PROMPT "Ver"        TOOLTIP "Consulta dados"               RESOURCE "ver"          2007 ACTION {SysLog_Destino_V("V"),oBrw:Refresh(),oBrw2:Refresh(),oBrw:SetFocus(),oSay:refresh()}  SIZE 30, 30 PIXEL FONT oFont2    
   @ 08,190   BTNBMP  OF oDlg PROMPT "Viagens"    TOOLTIP "Lanca Programação de Viagens" RESOURCE "carros"       2007 ACTION {SysLog_Destino_viagem("I"),oBrw:Refresh(),oBrw2:Refresh(),oBrw:SetFocus(),oSay:refresh()}  SIZE 30, 30 PIXEL FONT oFont2    
   @ 08,220   BTNBMP  OF oDlg PROMPT "Dt Movto"   TOOLTIP "Filtra a Data da Programação" RESOURCE "calendar"     2007 ACTION {SysLog_Destino_data(),oBrw:Refresh(),oBrw2:Refresh(),oBrw:SetFocus(),oSay:refresh()}  SIZE 30, 30 PIXEL FONT oFont2   
   @ 08,250   BTNBMP  OF oDlg PROMPT "Opções"     TOOLTIP "Opções Adicionais"            RESOURCE "engrenagem"   2007 ACTION {SysLog_Destino_adicionais(),oBrw:Refresh(),oBrw2:Refresh(),oBrw:SetFocus(),oSay:refresh()}  SIZE 30, 30 PIXEL FONT oFont2                
   @ 06,290   BTNBMP  OF oDlg PROMPT ""     TOOLTIP ""            RESOURCE "azul"   2007  SIZE 07, 07 PIXEL FONT oFonte                   
   @ 06,300   SAY oSay VAR "4-Sem Programa"          SIZE 50,07 PIXEL  FONT oBold update    transparent adjust    OF oDlg    
   @ 14,290   BTNBMP  OF oDlg PROMPT ""     TOOLTIP ""            RESOURCE "vermelho"   2007  SIZE 07, 07 PIXEL FONT oFonte                   
   @ 14,300   SAY oSay VAR "1-Não Realizado"          SIZE 50,07 PIXEL  FONT oBold update    transparent adjust    OF oDlg       
   @ 22,290   BTNBMP  OF oDlg PROMPT ""     TOOLTIP ""            RESOURCE "amarelo"   2007  SIZE 07, 07 PIXEL FONT oFonte                         
   @ 22,300   SAY oSay VAR "2-Realizado Parcial"          SIZE 50,07 PIXEL  FONT oBold update    transparent adjust    OF oDlg       
   @ 30,290   BTNBMP  OF oDlg PROMPT ""     TOOLTIP ""            RESOURCE "Verde"   2007  SIZE 07, 07 PIXEL FONT oFonte                         
   @ 30,300   SAY oSay VAR "3-Realizado Total"          SIZE 50,07 PIXEL  FONT oBold update    transparent adjust    OF oDlg       
   
*   @ 08,290   BTNBMP  OF oDlg PROMPT "Opções"     TOOLTIP "Opções Adicionais"            RESOURCE "azul"   2007  SIZE 10, 40 PIXEL FONT oFonte                      
   @ 08,500   BTNBMP  OF oDlg PROMPT "SAIR"       TOOLTIP "SAIR"                         RESOURCE "sair"         2007 ACTION {SysLog_Destino_esc(),oDLG:END()}                                   SIZE 30, 30 PIXEL FONT oFont2


ACTIVATE DIALOG oDlg CENTERED

dbcloseall()
*GlobalFree()
*ResAllFree() 
Release All 
RETURN nil 

 

Link to comment
Share on other sites

Não entendo muito de xBrowse, mas aqui, você precisa testar a velocidade desta área:

openfile("empresa","empresa","N","S","xcodigo")
openfile("locais","origem","N","S","xcodigo")
openfile("locais","destino","N","S","xcodigo")
openfile("locais","troca","N","S","xcodigo")
openfile("tipoesp","tipoesp","N","S","xcodigo")
openfile("filial","filial","N","S","xchave")
openfile("frota","frota","N","S","xcodigo")
openfile("tipotab","tipotab","N","S","xcodigo")
openfile("motoris","motoris","N","S","xcodigo")
openfile("prog_pgr","prog_pgr","N","S","xchavev")
openfile("prog_passagem","prog_passagem","N","S","xchacar")
openfile("prog_classe","prog_classe","N","S","xcodigo")
openfile("prog_rotas","prog_rotas","N","S","xcodigo")
openfile("prog_viagem","prog_viagem","N","S","xchaarq")
dbselectarea("prog_viagem")
dbsetrelation("motoris",  {||prog_viagem->motoris}, "prog_viagem->motoris")
dbsetrelation("tipotab",  {||prog_viagem->tipotab},  "prog_viagem->tipotab")
dbsetrelation("tipoesp",  {||prog_viagem->tipoesp},  "prog_viagem->tipoesp")
openfile("prog_destcarga","prog_destcarga","N","S","xchaarq")
openfile("prog_origem","prog_origem","N","S","xchaarq")
openfile("prog_destino","prog_destino","N","S","xchaarq")
dbsetrelation("tipoesp",  {||prog_destino->tipoesp}, "prog_destino->tipoesp")
dbsetrelation("tipotab",  {||prog_destino->tipotab}, "prog_destino->tipotab")
dbsetrelation("empresa",  {||prog_destino->empresa}, "prog_destino->empresa")
dbsetrelation("filial",   {||prog_destino->filial }, "prog_destino->filial")
dbsetrelation("origem",   {||prog_destino->origem }, "prog_destino->origem")
dbsetrelation("destino",  {||prog_destino->destino}, "prog_destino->destino")
dbselectarea("prog_destino")
mData := date()
dbseek(mdata)        
mChaveord := prog_destino->chave
dbselectarea("prog_viagem")
prog_viagem->( dbseek(mChaveord))
ORDSCOPE(TOPSCOPE,mChaveord)
ORDSCOPE(BOTTOMSCOPE,mchaveord)
dbselectarea("prog_destino")
dbseek(mdata)      
filtra_operacao(Alias(select()))  // ????? VERIFIQUE O TEMPO DE DEMORA DISSO
	BROWSE()  // PARE O PROGRAMA AQUI E VEJA QUEM DEMORA.


 

Link to comment
Share on other sites

bom realmente este xbrowse fica lento para carregar, mas ele carrega, depois fica normal, o que acontece é que na movimentação ou na chamada de alguma dialogos ele trava e fica não respondendo, até nos xbrowse com menos arquivos isso está ocorrendo, 

Link to comment
Share on other sites

 

Bom dia!

 

Estou tendo esse problema em meus Xbrowse, existe alguma forma de fazer isso também, e geralmente as maquinas com windows 10 que dá isso ?

 

estou usando fwh 18.01, bcc 7.3 xh 1.2.3 

Xará quando vc executa o SYSREFRESH o usuário tem acesso aos botões, browse, etc... Por isso que ao executar algum relatório ou outro processo que vai levar tempo vc precisa abrir uma janela ou criar um meter, etc...

 

A melhor maneira de resolver isso é usar o MSGRUN, caso não seja possivel criar um meter...

 

// JEITO ERRADO
Function u_Teste()
Local bBlock

ProcRelatorio()

MsgStop("Fim")
Return

Static Function ProcRelatorio()
Local nI

For nI := 1 to 100
   SysRefresh()
   ThreadSleep(100)
Next

Return


// JEITO CERTO
Function u_Teste()
Local bBlock

bBlock := {|| ProcRelatorio() }  // aqui vc coloca a função pra executar e fazer o seu processamento ou relatorio (dentro do codeblock)
MsgRun("Aguarde... ",,bBlock)

MsgStop("Fim")
Return

Static Function ProcRelatorio()
Local nI

For nI := 1 to 100
   SysRefresh()
   ThreadSleep(100)
Next

Return

 

Link to comment
Share on other sites

no caso eu tenho detro do xbrowse as chamadas de dialogs

ex: 

   @ 08,250   BTNBMP  OF oDlg PROMPT "Email"      TOOLTIP "Email do Transito"                RESOURCE "cartao"       2007 ACTION {SysLog_Transito_email(),oBrw:Refresh(),oBrw:SetFocus(),oSay:refresh() }  SIZE 30, 30 PIXEL FONT oFont3            

essa dialog algumas vezes chama mais de uma dialog, no caso colocaria o MSGRUN para chamalas ?

   @ 08,250   BTNBMP  OF oDlg PROMPT "Email"      TOOLTIP "Email do Transito"                RESOURCE "cartao"       2007 ACTION { msgrun("processando","  ", { ||  syslog_transito_email()) }),oBrw:Refresh(),oBrw:SetFocus(),oSay:refresh() }  SIZE 30, 30 PIXEL FONT oFont3            

isso ?

 

Link to comment
Share on other sites

 

no caso eu tenho detro do xbrowse as chamadas de dialogs

ex: 

   @ 08,250   BTNBMP  OF oDlg PROMPT "Email"      TOOLTIP "Email do Transito"                RESOURCE "cartao"       2007 ACTION {SysLog_Transito_email(),oBrw:Refresh(),oBrw:SetFocus(),oSay:refresh() }  SIZE 30, 30 PIXEL FONT oFont3            

essa dialog algumas vezes chama mais de uma dialog, no caso colocaria o MSGRUN para chamalas ?

   @ 08,250   BTNBMP  OF oDlg PROMPT "Email"      TOOLTIP "Email do Transito"                RESOURCE "cartao"       2007 ACTION { msgrun("processando","  ", { ||  syslog_transito_email()) }),oBrw:Refresh(),oBrw:SetFocus(),oSay:refresh() }  SIZE 30, 30 PIXEL FONT oFont3            

isso ?

 

sim isso mesmo

Link to comment
Share on other sites

  • 5 months later...

Bom Dia

 

Ainda estou tendo problemas com a Mensagem "nao respondendo", na questao da movimentação, inclusão e alterações não tive mais problemas se o usuario esta usando o sistema ele não trava.

 

estou com o problema assim, quando o usuário abre o sistema e deixa ele num "browse" qualquer, ai nao usa e vai em outra aplicação ou na web, quando ele volta para usar o sistema ele fica congelado com a mensagem "não respondendo." ai o usuário tem que fechar o programa via gerenciador de tarefas, e  abrir novamente.

isso ocorre várias vezes ao dia

uso tabela DBFCDX ta na rede FWH18.05 bcc 7.3

a maioria com win 10 as que tem win 7 não tenho muito problema

 

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...