betovsp Posted June 9, 2004 Report Share Posted June 9, 2004 Olá Pessoal, mais uma vez venho solicitar a ajuda de vcs. Na Indexação dos meus arquivos, me deparei com um problema. Quando ele está reindexando, e clico em um outro aplicativo aberto,as vezes a indexação volta ao inicio, as vezes dá erro de arquivo já em uso. Agora, se deixo fazendo a indexação, no problemas. Alguém já passou por isso. Abraços. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Editado por - betovsp on 09/06/2004 13:30:33 Quote Link to comment Share on other sites More sharing options...
vagner Posted June 9, 2004 Report Share Posted June 9, 2004 Olá Beto, Isso é pq vc está, mandando dar um meter no On Paint da dialog , então toda vez que a dialog for pintada irá executar a operação, o q vc pode fazer seria, colocar uma var static, onde verificasse se já está ativa, e não processar novamente a ordenação Abraços Vagner Wirts São Paulo-Brasil Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 9, 2004 Author Report Share Posted June 9, 2004 Oi meu amigo Vagner, desculpe a minha ignorancia, vc pode me dar um exemplo. Obrigado. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
mou321 Posted June 9, 2004 Report Share Posted June 9, 2004 Caro Amigo Beto. Eu desativo o Mouse. Colocando em Espera. Mauricio (RJ) Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 9, 2004 Author Report Share Posted June 9, 2004 Muito boa tarde Mauricio. Eu também faço isso antes de definir a dialog. e depois o ativo novamente. Abraços. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 9, 2004 Author Report Share Posted June 9, 2004 Desculpe Mauricio, não terminei. Uso CursorWait(), não sei se esta certo. Depois ativo com CursorArrow() Até Mais. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
mou321 Posted June 9, 2004 Report Share Posted June 9, 2004 mas toda a vez que ela entra no meter ele ativa de novo faca antes da chamada dela . Mauricio (RJ) Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 9, 2004 Author Report Share Posted June 9, 2004 Mauricio, coloquei antes de toda chamada oMetCdx:Set(), acho que é aqui, e continua da mesma forma. To apanhando um pouco viu, acho que é normal pro começo. Abraços. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
mou321 Posted June 9, 2004 Report Share Posted June 9, 2004 tem como vc me mostrar o fonte Mauricio (RJ) Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 9, 2004 Author Report Share Posted June 9, 2004 Lá vai Mauricio: FUNCTION CriaCdx(indexa) * -> Objetivo: Recria os indices dos arquivos de dados. LOCAL oDlgCdx PRIVATE qTotDbf:=DIRECTORY("DADOS\*.DBF","D") PRIVATE qTotCdx:=DIRECTORY("DADOS\*.CDX","D") PRIVATE dAllCdx:=IF(indexa==NIL,.T.,.F.) PRIVATE ntotDbf:=0,nTotCdx:=0 PRIVATE oMetDbf,oMetCdx,fim:=.F. PRIVATE oTxt1:=cTxt1:=oTxt2:=cTxt2:=" " indexa:=IF(indexa==NIL,1,indexa) IF dAllCdx AEVAL(DIRECTORY(".\DADOS\*.cdx"),{|aFile| FErase(".\DADOS\"+aFile[1])}) END CursorWait() qTotDbf:=LEN(QTOTDBF) qTotCdx:=LEN(QTOTCDX) DEFINE FONT oFnt1 NAME "Tahoma" SIZE 0,-12 DEFINE DIALOG oDlgCdx FROM 1,15 TO 336,655 PIXEL STYLE nOr(DS_MODALFRAME,WS_POPUP,WS_VISIBLE,WS_DLGFRAME) COLOR nRgb(0,0,0),nRgb(214,211,206) @ 4.5,1 GROUP oGroup1 TO 11,45 OF oDlgCdx @ 1.9,9 BITMAP oBmp RESOURCE "Indice" SIZE 25,24 OF oDlgCdx @ 2,20 SAY "Reorganização dos Arquivos de Sistema" FONT oFnt1 SIZE 150,8 OF oDlgCdx @ 2.7,20 SAY "Aguarde o Término da Reorganização" FONT oFnt1 SIZE 150,8 OF oDlgCdx @ 3.4,20 SAY "Obs.: Todas as Estações devem estar Fora do Sistema" FONT oFnt1 SIZE 180,8 OF oDlgCdx @ 6.9,10.7 SAY oTxt1 VAR cTxt1 FONT oFnt1 SIZE 200,8 OF oDlgCdx @ 6.6,7 METER oMetDbf VAR nTotDbf TOTAL qTotDbf FONT oFnt1 SIZE 210,10 OF oDlgCdx BARCOLOR nRgb(0,130,132),nRgb(255,255,255) @ 9.2,10.7 SAY oTxt2 VAR cTxt2 FONT oFnt1 SIZE 200,8 OF oDlgCdx @ 8.6,7 METER oMetCdx VAR nTotCdx TOTAL qTotCdx FONT oFnt1 SIZE 210,10 OF oDlgCdx BARCOLOR nRgb(0,130,132),nRgb(255,255,255) ACTIVATE DIALOG oDlgCdx CENTER ON PAINT ScrolMeter(oDlgcdx,indexa) VALID(IF(!fim,MsgAlert("Aguarde o Término da Reorganização","Atenção"),),fim) oFnt1:End() ; CursorArrow() ; SysRefresh() ; RETURN(NIL) STATIC FUNCTION ScrolMeter(oDlgcdx,indexa) while .T. oMetDbf:Set(indexa) IF indexa==1 oTxt1:SetText("Arquivo de Ruas") USE DADOS\arqrua NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Ruas") INDEX ON rua TAG rua EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por C.E.P.") INDEX ON cep TAG cep EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 2 oTxt1:SetText("Arquivo de Agenda / Calendário") USE DADOS\arqage NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Data") INDEX ON data TAG data EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 3 oTxt1:SetText("Arquivo de Informações do Sistema") USE DADOS\arqimp NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Situações") INDEX ON estacao TAG estacao EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 4 oTxt1:SetText("Arquivo de Usuários do Sistema") USE DADOS\arquse NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Nome do Usuário") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 5 oTxt1:SetText("Arquivo de Clientes") USE DADOS\arqcli NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Nome/Razão Social") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por C.N.P.J.") INDEX ON cgc TAG cgc EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 6 oTxt1:SetText("Arquivo de Especialidade do Cliente") USE DADOS\arqatv NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Especialidade") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 7 oTxt1:SetText("Arquivo de Médicos") USE DADOS\arqmed NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Nome/Razão Social") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por C.N.P.J.") INDEX ON cgc TAG cgc EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 8 oTxt1:SetText("Arquivo de Visitas aos Médicos") USE DADOS\arqmd1 NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 9 oTxt1:SetText("Arquivo de Fornecedor") USE DADOS\arqfor NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Nome/Razão Social") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por C.N.P.J.") INDEX ON cgc TAG cgc EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 10 oTxt1:SetText("Arquivo de Representantes de Fornecedor") USE DADOS\arqfo1 NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 11 oTxt1:SetText("Arquivo de Produtos") USE DADOS\arqmat NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON codmat TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Descrição") INDEX ON nommat TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 12 oTxt1:SetText("Arquivo de Funcionários") USE DADOS\arqfun NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Nome") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por C.P.F.") INDEX ON cgc TAG cgc EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Função") INDEX ON fun TAG fun EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 13 oTxt1:SetText("Arquivo de Transportadoras") USE DADOS\arqtra NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Nome/Razão Social") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por C.N.P.J.") INDEX ON cgc TAG cgc EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 16 oTxt1:SetText("Arquivo de Bancos") USE DADOS\arqbco NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Nome") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 17 oTxt1:SetText("Arquivo do Contas a Receber") USE DADOS\arqcar NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Fatura") INDEX ON dupl TAG dupl DESCENDING EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Cliente") INDEX ON codc+dupl TAG codc DESCENDING EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Emissão") INDEX ON dtem TAG dtem EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Vencimento") INDEX ON dtpr TAG dtpr EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Vendedor") INDEX ON codv+espc TAG codv EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 18 oTxt1:SetText("Arquivo das Contas Financeiras") USE DADOS\arqcta NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Descrição") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 19 oTxt1:SetText("Arquivo de Classificação Fiscal") USE DADOS\arqclf NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código Fiscal") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Descrição") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 20 oTxt1:SetText("Arquivo de Pedidos") USE DADOS\arqpd1 NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Número de Pedido") INDEX ON STR(pcpv,1)+nupd TAG nupd DESCENDING EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Código de Cliente") INDEX ON STR(pcpv,1)+codc TAG codc DESCENDING EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 21 oTxt1:SetText("Arquivo de Pedidos") USE DADOS\arqpd2 NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Número de Pedido") INDEX ON STR(pcpv,1)+nupd TAG nupd FOR !Deleted() EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 22 oTxt1:SetText("Arquivo de Pedidos") USE DADOS\arqpd3 NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Número de Pedido") INDEX ON STR(pcpv,1)+nupd TAG nupd FOR !Deleted() EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa = 23 oTxt1:SetText("Arquivo do Contas a Pagar") USE DADOS\arqcap NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Processos") INDEX ON dupl TAG dupl DESCENDING EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Fornecedor") INDEX ON codf TAG codf DESCENDING EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Emissão") INDEX ON dtem TAG dtem DESCENDING EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Nota Fiscal") INDEX ON dcto TAG dcto DESCENDING EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 24 oTxt1:SetText("Arquivo de Produtos das Notas Fiscais de Compra") USE DADOS\arqent NEW EXCLUSIVE dbPack() oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Número da Nota Fiscal e Fornecedor") INDEX ON nota+codf TAG nota FOR !Deleted() EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 25 oTxt1:SetText("Arquivo de Notas Fiscais de Compra") USE DADOS\arqnfe NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Número da Nota Fiscal") INDEX ON nota TAG nota DESCENDING EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Código do Fornecedor") INDEX ON nota+codf TAG codf EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Data de Emissão") INDEX ON dtem TAG dtem EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 26 oTxt1:SetText("Arquivo de Condições de Pagamento") USE DADOS\arqcpg NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Descrição") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 27 oTxt1:SetText("Arquivo de Produtos") USE DADOS\arqpro NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON codpro TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Descrição") INDEX ON nompro TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Fornecedor do Produto") INDEX ON forpro TAG for EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 28 oTxt1:SetText("Arquivo de Situações") USE DADOS\arqsit NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Descrição") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 29 oTxt1:SetText("Arquivo de Cidades") USE DADOS\arqcid NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código") INDEX ON cod TAG cod EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Nome") INDEX ON nom TAG nom EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 30 oTxt1:SetText("Arquivo de Caixa") USE DADOS\arqcx1 NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Data") INDEX ON data TAG data EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 31 oTxt1:SetText("Arquivo de Caixa - Lançamentos") USE DADOS\arqcx2 NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Data") INDEX ON data TAG data EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Nº de Documento") INDEX ON docto TAG docto EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) ELSEIF indexa == 32 oTxt1:SetText("Arquivo de Movimentação Bancária") USE DADOS\arqctb NEW oMetCdx:nTotal:=RecCount() oTxt2:SetText("Indexando o Arquivo Por Código/Documento") INDEX ON codb+docb TAG docb EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) oTxt2:SetText("Indexando o Arquivo Por Código/Data") INDEX ON codb+DTOS(data) TAG codb EVAL (CursorWait(),oMetCdx:Set(RecNo()),SysRefresh()) END dbCloseArea() IF dAllCdx .AND. indexa <= qTotDbf indexa++ ELSE EXIT END END fim:=.T. oDlgCdx:End() ; CursorArrow() ; RETURN(NIL) Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
mou321 Posted June 9, 2004 Report Share Posted June 9, 2004 eu faco basicamente o mesmo e nao tenho problemas so que eu uso o cursorwait() ..: depois do sysrefresh() Mauricio (RJ) Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 9, 2004 Author Report Share Posted June 9, 2004 Olá Mauricio novamente. Fiz o que indicou e aqui não funciona. Já estou ficando Crazy com isso. Vc manja de ODBC??? Abraços. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
mou321 Posted June 9, 2004 Report Share Posted June 9, 2004 O que eu Faço e o seguinte coloco um botao de confirmaçao no dialogo e so ativo a indexaçà o atraves do botao de confirmacao , a resposta que o vagner deu é o que esta acontecendo . Tenho certeza que se vc colocar qualquer perg. que seja neste forum : vc nao deixara de ser respondido. Um Abraço Mauricio (RJ) Quote Link to comment Share on other sites More sharing options...
karinha Posted June 9, 2004 Report Share Posted June 9, 2004 Ke tal Colocar botoes??? Como abaixo? REDEFINE BUTTON oAceitar ID 701 OF oDlg ; ACTION( Click(), ReIndPack( lPack, oMeter1, oMeter2, ; oMeter3 ), oDlg:End() ) oAceitar:cToolTip = ( OemToAnsi( "Indexar os Bancos de Dados!" ) ) REDEFINE BUTTON oCancelar ID 702 OF oDlg ACTION( oDlg:End() ) oCancelar:cToolTip = ( OemToAnsi( "Cancelar Indexa‡Æo dos Bancos de Dados!" ) ) // Depois de , Desligar botoes como eu faco! oAceitar:Disable() oCancelar:Disable() // Ou entao... // Static lAbertura := .F. Function Indexar() Local oBrush, oBar, oHand, oIco Local NN Local cBmpFile := ( "FundoWnd.Bmp" ) // Para Impedir Uma 2¦ Abertura de Janela!!! IF lAbertura = .F. lAbertura := .T. ELSE SndPlaySound(".\Erro.wav" ) MsgInfo( OemToAnsi( "Esta Janela J Est em Uso..." +CRLF+ ; "Verifique Rodap‚ do Windows." +CRLF+ ; "Ou Minimize o Programa... " +CRLF+ ; "Pois Ela Pode Estar Por Tr s" +CRLF+ ; "do Menu Principal. Verifique!"), ; "Verifique, Por Favor!" ) SndPlaySound(".\Lembrete.wav" ) RETURN NIL ENDIF //...Bla bla RETURN NIL João Santos São Paulo-Brasil (11) 3106-2832 a Noite karinhannah@ubbi.com.br Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 9, 2004 Author Report Share Posted June 9, 2004 Caro João, vou tentar, depois te report o ocorrido. Abraços. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
eajunior Posted June 10, 2004 Report Share Posted June 10, 2004 Ola Beto em vez de usar o PAINT na diagol eu utilizo desta forma e não tenho o problema com erros e o usuario pode inclusive ficar passeando com a DIALOG pela Tela LOCAL lEsc := False oScr:bStart := {||__Indexa( oMeter, oScr ),; lEsc := True, oScr:End() } ACTIVATE DIALOG oScr CENTERED VALID lEsc Elias Abrão Júnior Fone : (0**19) 3885-3447 São Paulo - SP eajunior.fw@terra.com.br Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 10, 2004 Author Report Share Posted June 10, 2004 Olá Elias, Valeu a Dica, coloquei na minha rotina desta forma e foi resolvido o problema. Obrigado. Abraços. Beto betovsp@hotmail.com (16)9148-1515 Ribeirão Preto/SP Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.