Tbrowse lento em REDE
Moderador: Moderadores
Tbrowse lento em REDE
Boa tarde !
Pessoal estou encontrando um pequeno problema com o tebrowse() em rede
quando abro a pesquisa com tbrowse() de um mesmo DB na rede a maquina com menos capacidade de hardware fica muito lenta , lenta mesmo ! ´o)
são duas maquina, servidor e estação
o prg esta compilado com rtlink , timeslic.obj
estou usando indice *.NTX
.............................................
Descrição da maquina estação
pentium lll 450mHz 256 ram
.............................................
Descrição servidor
Durom 1.8 Mhz 512ram
.............................................
Seria possivel o problema esta na maquina 02 ? Estranho pois quando vejo o desempnho do Proc. ele nem chega a 10% de consulmo...
Pessoal estou encontrando um pequeno problema com o tebrowse() em rede
quando abro a pesquisa com tbrowse() de um mesmo DB na rede a maquina com menos capacidade de hardware fica muito lenta , lenta mesmo ! ´o)
são duas maquina, servidor e estação
o prg esta compilado com rtlink , timeslic.obj
estou usando indice *.NTX
.............................................
Descrição da maquina estação
pentium lll 450mHz 256 ram
.............................................
Descrição servidor
Durom 1.8 Mhz 512ram
.............................................
Seria possivel o problema esta na maquina 02 ? Estranho pois quando vejo o desempnho do Proc. ele nem chega a 10% de consulmo...
C:\Xharbour\Xdev\Fw\VSX
Não seria a capacidade mais limitada do Pentium III? Dá pra testar em outra máquina mais parruda no lugar dessa máquina?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Mas se o uso do proc não chega nem a 10%como poderia ser , isso que não consigo entenderMaligno escreveu:Não seria a capacidade mais limitada do Pentium III?
xii não tenho ,mas se não tiver jeito terei que testar de alguma forma em outra rede té++Dá pra testar em outra máquina mais parruda no lugar dessa máquina?
C:\Xharbour\Xdev\Fw\VSX
Poderia ser também algo relacionado a rede. Que tipo de rede você está usando? São apenas duas máquinas?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Não deveria ser lento por causa disso. A não ser que haja algum problema numa das placas. Tentou trocar?a rede é crossover (ponta-a-ponta)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Pois bem , achei a causa do problema , era um refreshall() a cada loop
Mas agora o problema ficou ainda maior , pois este refreshall() é nessesario a cada "n" segundos para manter o browse atualizado , caso haja alguma deleção de arquivo e eu não sei como empregalo a cada "n" segundos sem que ele fique dentro de um do while
:'(
Mas agora o problema ficou ainda maior , pois este refreshall() é nessesario a cada "n" segundos para manter o browse atualizado , caso haja alguma deleção de arquivo e eu não sei como empregalo a cada "n" segundos sem que ele fique dentro de um do while
Código: Selecionar todos
static FUNC cPesqfor(vcod) //Nome
Sele C
set order to 2
priv cpesq:="" //variavel de pesquisa
priv tabela:=""
tabela=savescreen(00,00,24,80,tabela )
set color to ("n/gb")
@04,00 clear to 16,50
Dispbox(04,00,16,50)
@05,01 say ("Pesquisa:")
@05,10 say repli("_",30) color("n/gb")
@06,01 say repli("Ä",49)
#include "inkey.ch"
brw:=TBrowseDb(07,01,15,49)
brw:HeadSep:=Chr(196) + Chr(196) + CHr(196)
brw:ColSep :=Space(01) + Chr(179) + Space(01)
brw:ColorSpec:="n/gb,gr+/b"
colum1:=tbcolumnnew('Codigo' ,{||C->cod })
colum2:=tbcolumnnew('Setor' ,{||C->(left(forn,35))})
brw:addcolumn(colum1)
brw:addcolumn(colum2)
mensagem("Digite o SETOR ou use setas para pesquisa")
brw:right()
brw:gotop()
set cursor off
do while .t.
brw:refreshall()
do while(! brw:stabilize())
enddo
brw:forcestable()
if brw:stable
if brw:hitTop()
@16,35 say" Inicio " color('b-/gB')
Elseif brw:hitBottom()
@16,35 say" Fim " color('b-/gB')
else
@16,35 say"ÄÄÄÄÄÄÄÄÄÄ"
endif
endif
if empty(cpesq)
@05,10 say repli("_",30) color ("n/gb")
endif
nkey:=inkey(5)
if nkey == K_UP
brw:up()
cpesq=""
elseif nkey == K_DOWN
brw:down()
cpesq=""
elseif nkey == K_LEFT
brw:left()
cpesq=""
elseif nkey == K_RIGHT
brw:right()
cpesq=""
elseif nkey == K_HOME
brw:home()
cpesq=""
elseif nkey == K_END
brw:end()
cpesq=""
elseif nkey == K_PGUP
brw:pageUp()
cpesq=""
elseif nkey == K_PGDN
brw:pageDown()
cpesq=""
elseif nkey == K_CTRL_PGUP
brwr:goTop()
cpesq=""
elseif nkey == K_CTRL_PGDN
brw:goBottom()
cpesq=""
elseif nkey == K_CTRL_HOME
brw:panHome()
cpesq=""
elseif nkey == K_CTRL_END
brw:panEnd()
cpesq=""
elseif nkey == K_CTRL_LEFT
brw:panLeft()
cpesq=""
elseif nkey == K_CTRL_RIGHT
brw:panRight()
cpesq=""
elseif nKey== K_ENTER
vcod=C->cod
keyb strzero(vcod)
exit
elseif nkey==K_ESC
exit
elseif(nkey>=32 .and. nkey<=255) .and.len(cpesq)<30
cpesq:=upper((cpesq)+chr(nkey))
@05,10 say cpesq color("n/gb")
set softseek on
brw:gotop()
seek acento(cpesq)
if ! found()
cpesq:=upper(left(cpesq,len(cpesq)-1))
seek acento(cpesq)
@05,10 say cpesq +"_" color("n/gb")
endif
set softseek off
elseif nkey==8 .and. len(cpesq)>0 //bakspace
cpesq:=upper(left(cpesq,len(cpesq)-1))
@05,10 say cpesq +"_" color("n/gb")
set softseek on
brw:gotop()
seek acento(cpesq)
if ! found()
cpesq:=upper(left(cpesq,len(cpesq)-1))
seek acento(cpesq)
@05,10 say cpesq +" " color("n/gb")
set softseek off
endif
endif
ENDDO
set cursor on
restscreen(00,00,24,80,tabela )
RETURN:'(
C:\Xharbour\Xdev\Fw\VSX
Ele pode e deve ficar dentro do WHILE. Você só precisaria acrescentar uma variável que armazenará uma contagem de segundos. Esgotado o tempo ou pressionada uma tecla qualquer, o contador é reciclado, o refresh é executado e o processamento continua até voltar ao topo da malha.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
sygecom escreveu:Eder, é simples...é só dah um refreshall() logo depois que o usuario deletou algo !!! se ele não deleta...não vai ficar dando refreshall() em vão !!
Abraços
Leonardo Machado
Seria dessa forma se eu usa-se o tbrowse() para alterar , incluir , deletar , mas eu o uso somente para pesquisa , eu chamo o tbrowse() pesquiso e retorno os dados para as variaveis , só ae que decido se vou alterar ou excluir , ou seja ja estou fora do tbrowse() não tem como dar um refreshall(0 na deleção ou seja , tem que ser exatamente como o maligno citou , deichar que o próprio tbrowse tenha uma variavel que faça uma contagem a cada "n" segundos para fazer refreshall() independente de meu loop , pois se a cada loop fizer um refreshall() vai dar na mesma ...
:f
C:\Xharbour\Xdev\Fw\VSX
O refresh serve para atualizar o browser após a ocorrência de um evento de apagamento, alteração ou inclusão. Mas se esse evento ocorre em outra máquina, não adianta nada. Obrigatoriamente tem de ser feito o refresh em função do tempo e TAMBÉM quando o evento ocorre na própria máquina.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Não, Eolo. Quando eu disse "não adianta nada", estava me referindo à idéia do Leonardo de dar um refresh apenas quando se apaga um registro. Isso é que não adianta, porque, justamente como eu disse, se o evento é externo, não há meio de saber. Por isso o refresh deve obrigatoriamente ocorrer em função do tempo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!



