kapiaba Posted January 26, 2018 Report Share Posted January 26, 2018 Theotokos Faça assim, e verifique o arquivo checkres.txt para ver qual objeto não está sendo destruído: FreeResources() SysRefresh() DbCloseAll() RELEASE All Hb_GCAll( .T. ) CLEAR MEMORY PostQuitMessage( 0 ) IF FILE( "checkres.txt" ) FErase( "checkres.txt" ) ENDIF CheckRes() __QUIT() Theotokos 1 Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 26, 2018 Report Share Posted January 26, 2018 Vlw!!! Obgdo!!! Vou testar hoje a noite... depois reporto aqui... obgdo!!! kapiaba 1 Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 27, 2018 Report Share Posted January 27, 2018 Kapiaba... o arquivo que era é este : 27/01/2018 16:16:26: BRUSH,118496802,TBITMAP:SETCOLOR(2529)->TBITMAP:DEFINE(265)->MAIN(126) 27/01/2018 16:16:26: BMP,67444254,MAIN(126) 27/01/2018 16:16:26: BMP,84221471,MAIN(127) 27/01/2018 16:16:26: FONT,1560944022,LERSENHA(504)->(b)MAIN(208)->TWINDOW:ACTIVATE(983)->MAIN(208) 27/01/2018 16:16:26: FONT,1980374582,MSGMETER(12)->LERSENHA(570)->(b)MAIN(208)->TWINDOW:ACTIVATE(983)->MAIN(208) 27/01/2018 16:16:26: ==================================================================================================== Aí trava e tenho que fechar como lhe falei Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 27, 2018 Report Share Posted January 27, 2018 agora continua acontencedo o mesmo travamento... porem nem gera mais o arquivo checkres.txt gerou só a primeira vez (a que postei) e continuei a testar, mas não gerou mais o arquivo... Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 27, 2018 Report Share Posted January 27, 2018 o trecho em que utilizo esta rotina é este: DEFINE FONT oFont SIZE 0,-15 NAME "Times" cProcura := Space(30) cCampo := PadL("Descrição",10) DEFINE DIALOG oDlg RESOURCE "DLG_CON_MER" TITLE "..:: Manutenção de Dados .::. PRODUTOS ::.." * oDlg:lTransparent := .T. oDlg:lHelpIcon := .F. * oBrw := TxBrowse():New( oDlg ) oBrw:CreateFromResource( 101 ) oBrw:cAlias := 'BanMerca' ADD COLUMN TO XBROWSE oBrw TITLE "" SIZE 30 * ADD COLUMN TO XBROWSE oBrw DATA M_FAMILIA TITLE "Família" SIZE 200 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_CODIGO TITLE "Código" SIZE 80 COLORS 128 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_DESCRICA TITLE "Descrição" SIZE 350 COLORS 128 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_REFERENC TITLE "Referência" SIZE 120 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_CODBAR TITLE "Código de Barras" SIZE 100 ALIGN LEFT * If nTp = 1 ADD COLUMN TO XBROWSE oBrw DATA M_QUANTIDA TITLE "Quantidade" SIZE 90 ALIGN RIGHT Else ADD COLUMN TO XBROWSE oBrw DATA M_QUANTIDA TITLE "Estoque" SIZE 90 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_CN TITLE "C/N" SIZE 90 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_SN TITLE "S/N" SIZE 90 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_CUSTO TITLE "Preço Custo" SIZE 90 COLORS 128 ALIGN RIGHT End * ADD COLUMN TO XBROWSE oBrw DATA M_VENDA TITLE "Preço Venda" SIZE 90 COLORS 128 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_FORNECED TITLE "Fornecedor" SIZE 200 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_EMINIMO TITLE "Est.Min." SIZE 50 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_EMAXIMO TITLE "Est.Máx." SIZE 50 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_DT_ATUAL TITLE "Dt.Ult.Atual." SIZE 100 * oBrw:nRowHeight := 30 oBrw:lColDividerComplete := .f. oBrw:nDataLines := 2 // Number of lines of the data rows oBrw:nHeaderLines := 2 // Number of lines of the header oBrw:nFooterLines := 2 // Number of lines of the footer oBrw:nDataType := 0 // Data type to be used: 0->rdd, 1->array, ... (more to come) If navigation codeblocks are not specified then get automatically initialized when adjusting the browse depending on this DATA value oBrw:nHeaderHeight := 30 // oBrw:bSeek := {|c| DbSeek(Upper( c )) } oBrw:nFreeze := 1 oBrw:nColDividerStyle := 2 // Column divider style: 0 No lines 1 Black line 2 Dark gray line 3 Raised 4 Inset 5 Fore Color 6 Light gray oBrw:nRowDividerStyle := 2 // Column divider style: 0 No lines 1 Black line 2 Dark gray line 3 Raised 4 Inset 5 Fore Color 6 Light gray * oBrw:aCols[3]:AddBmpFile( "BMP\Organiza.bmp" ) oBrw:aCols[3]:nHeadBmpNo := 0 oBrw:aCols[3]:nHeadBmpAlign := 1 * oBrw:aCols[4]:AddBmpFile( "BMP\Organiza.bmp" ) oBrw:aCols[4]:nHeadBmpNo := 1 oBrw:aCols[4]:nHeadBmpAlign := 1 * oBrw:aCols[1]:AddBmpFile( "BMP\Up.Bmp" ) oBrw:aCols[1]:AddBmpFile( "BMP\Down.Bmp" ) oBrw:aCols[1]:AddBmpFile( "BMP\Down1.Bmp" ) oBrw:aCols[1]:bBmpData := { || If( BanMerca->M_QUANTIDA <= 0, 3, If(BanMerca->M_CN <= BanMerca->M_EMINIMO, 2, 1 )) } oBrw:aCols[1]:nDataBmpAlign := 3 * oBrw:aCols[3]:bLClickHeader := {|| Sel("BanMerca",1), oBrw:aCols[3]:nHeadBmpNo := 1, oBrw:aCols[4]:nHeadBmpNo := 0, oBrw:Refresh() } oBrw:aCols[4]:bLClickHeader := {|| Sel("BanMerca",2), oBrw:aCols[3]:nHeadBmpNo := 0, oBrw:aCols[4]:nHeadBmpNo := 1, oBrw:Refresh() } ***** REDEFINE COMBOBOX oCbx VAR cCampo PROMPTS {"Descrição","Código","Referência","Família","Fornecedor","Contendo Nome"} UPDATE ID 108 OF oDlg ***** REDEFINE GET oGet VAR cProcura ID 106 OF oDlg ON CHANGE (BcDdProduto(oGet,cCampo,oBrw), oBrw:Refresh(), oBrw:Update()) * REDEFINE BUTTON ID 107 OF oDlg ACTION (EditProduto(1) , oDlg:Update(), oDlg:Refresh()) REDEFINE BUTTON ID 105 OF oDlg ACTION (oDlg:End()) REDEFINE BUTTON ID 102 OF oDlg ACTION (EditProduto(2) , oDlg:Update(), oDlg:Refresh()) REDEFINE BUTTON ID 103 OF oDlg ACTION (Excluir() , oDlg:Update(), oDlg:Refresh()) * ACTIVATE DIALOG odlg CENTER * DbCloseAll() Return * Function BcDdProduto(cP,cC,oB) Local cPro := cP:cText() Do Case Case AllTrim(cC) == "Descrição" Sel(DBF(),2) Case AllTrim(cC) == "Família" Sel(DBF(),4) Case AllTrim(cC) == "Fornecedor" Sel(DBF(),3) Case AllTrim(cC) == "Código" Sel(DBF(),1) Case AllTrim(cC) == "Referência" Sel(DBF(),5) Case AllTrim(cC) = "Contendo Nome" Sel(DBF(),2) FastFilter( RTrim(cPro), 2) dbGoTop() Return(.t.) OTHERWISE Sel(DBF(),1) EndCase * dbSetOrder( INDEXORD() ) // define a ordem de filtro ordScope( 0, RTrim(cPRO) ) // TOP (De...) ordScope( 1, RTRim(cPro) ) // BOTTOM (..Até) dbGoTop() * Return(.T.) Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 29, 2018 Author Report Share Posted January 29, 2018 // TEM BOI NA LINHA, CHEQUE LINHA A LINHA, ONDE PODE SER O PROBLEMA. LOCAL oFont DEFINE FONT oFont SIZE 0,-15 NAME "Times" // local? cProcura := Space(30) cCampo := PadL("Descrição",10) DEFINE DIALOG oDlg RESOURCE "DLG_CON_MER" ; TITLE "..:: Manutenção de Dados .::. PRODUTOS ::.." ; TRANSPARENT FONT oFont * // oDlg:lTransparent := .T. oDlg:lHelpIcon := .F. * oBrw := TxBrowse():New( oDlg ) oBrw:CreateFromResource( 101 ) oBrw:cAlias := 'BanMerca' ADD COLUMN TO XBROWSE oBrw TITLE "" SIZE 30 * ADD COLUMN TO XBROWSE oBrw DATA M_FAMILIA TITLE "Família" SIZE 200 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_CODIGO TITLE "Código" SIZE 80 COLORS 128 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_DESCRICA TITLE "Descrição" SIZE 350 COLORS 128 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_REFERENC TITLE "Referência" SIZE 120 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_CODBAR TITLE "Código de Barras" SIZE 100 ALIGN LEFT * If nTp = 1 ADD COLUMN TO XBROWSE oBrw DATA M_QUANTIDA TITLE "Quantidade" SIZE 90 ALIGN RIGHT Else ADD COLUMN TO XBROWSE oBrw DATA M_QUANTIDA TITLE "Estoque" SIZE 90 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_CN TITLE "C/N" SIZE 90 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_SN TITLE "S/N" SIZE 90 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_CUSTO TITLE "Preço Custo" SIZE 90 COLORS 128 ALIGN RIGHT EndIf * ADD COLUMN TO XBROWSE oBrw DATA M_VENDA TITLE "Preço Venda" SIZE 90 COLORS 128 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_FORNECED TITLE "Fornecedor" SIZE 200 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_EMINIMO TITLE "Est.Min." SIZE 50 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_EMAXIMO TITLE "Est.Máx." SIZE 50 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_DT_ATUAL TITLE "Dt.Ult.Atual." SIZE 100 * oBrw:nRowHeight := 30 oBrw:lColDividerComplete := .f. oBrw:nDataLines := 2 // Number of lines of the data rows oBrw:nHeaderLines := 2 // Number of lines of the header oBrw:nFooterLines := 2 // Number of lines of the footer oBrw:nDataType := 0 // Data type to be used: 0->rdd, 1->array, ... (more to come) If navigation codeblocks are not specified then get automatically initialized when adjusting the browse depending on this DATA value oBrw:nHeaderHeight := 30 // oBrw:bSeek := {|c| DbSeek(Upper( c )) } oBrw:nFreeze := 1 oBrw:nColDividerStyle := 2 // Column divider style: 0 No lines 1 Black line 2 Dark gray line 3 Raised 4 Inset 5 Fore Color 6 Light gray oBrw:nRowDividerStyle := 2 // Column divider style: 0 No lines 1 Black line 2 Dark gray line 3 Raised 4 Inset 5 Fore Color 6 Light gray * // VERIFICAR ESSAS BITMAPS, SE NAO ESTAO DANIFICADAS. oBrw:aCols[3]:AddBmpFile( "BMP\Organiza.bmp" ) oBrw:aCols[3]:nHeadBmpNo := 0 oBrw:aCols[3]:nHeadBmpAlign := 1 * oBrw:aCols[4]:AddBmpFile( "BMP\Organiza.bmp" ) oBrw:aCols[4]:nHeadBmpNo := 1 oBrw:aCols[4]:nHeadBmpAlign := 1 * oBrw:aCols[1]:AddBmpFile( "BMP\Up.Bmp" ) oBrw:aCols[1]:AddBmpFile( "BMP\Down.Bmp" ) oBrw:aCols[1]:AddBmpFile( "BMP\Down1.Bmp" ) oBrw:aCols[1]:bBmpData := { || If( BanMerca->M_QUANTIDA <= 0, 3, If(BanMerca->M_CN <= BanMerca->M_EMINIMO, 2, 1 )) } oBrw:aCols[1]:nDataBmpAlign := 3 * oBrw:aCols[3]:bLClickHeader := {|| Sel("BanMerca",1), oBrw:aCols[3]:nHeadBmpNo := 1, oBrw:aCols[4]:nHeadBmpNo := 0, oBrw:Refresh() } oBrw:aCols[4]:bLClickHeader := {|| Sel("BanMerca",2), oBrw:aCols[3]:nHeadBmpNo := 0, oBrw:aCols[4]:nHeadBmpNo := 1, oBrw:Refresh() } ***** REDEFINE COMBOBOX oCbx VAR cCampo PROMPTS {"Descrição","Código","Referência","Família","Fornecedor","Contendo Nome"} UPDATE ID 108 OF oDlg ***** REDEFINE GET oGet VAR cProcura ID 106 OF oDlg ON CHANGE (BcDdProduto(oGet,cCampo,oBrw), oBrw:Refresh(), oBrw:Update()) * // VERFIQUE ISTO: oDlg:Update(), oDlg:Refresh() qual razao disso? REDEFINE BUTTON ID 107 OF oDlg ACTION (EditProduto(1), oDlg:Update(), oDlg:Refresh()) REDEFINE BUTTON ID 102 OF oDlg ACTION (EditProduto(2), oDlg:Update(), oDlg:Refresh()) REDEFINE BUTTON ID 103 OF oDlg ACTION (Excluir() , oDlg:Update(), oDlg:Refresh()) // Saida REDEFINE BUTTON ID 105 OF oDlg ACTION ( oDlg:End() ) CANCEL * ACTIVATE DIALOG odlg CENTER * // DbCloseAll() // Destrua a FONTE: oFont:End() // FECHAR OS FILTROS. Return Nil * Function BcDdProduto(cP,cC,oB) Local cPro := cP:cText() Do Case Case AllTrim(cC) == "Descrição" Sel(DBF(),2) Case AllTrim(cC) == "Família" Sel(DBF(),4) Case AllTrim(cC) == "Fornecedor" Sel(DBF(),3) Case AllTrim(cC) == "Código" Sel(DBF(),1) Case AllTrim(cC) == "Referência" Sel(DBF(),5) Case AllTrim(cC) = "Contendo Nome" Sel(DBF(),2) FastFilter( RTrim(cPro), 2) dbGoTop() // FECHE ESTE FILTRO TAMBEM: SET FILTER TO OU EQUIVALENTE. Return(.t.) OTHERWISE Sel(DBF(),1) EndCase * dbSetOrder( INDEXORD() ) // define a ordem de filtro ?? ordScope( 0, RTrim(cPRO) ) // TOP (De...) ordScope( 1, RTRim(cPro) ) // BOTTOM (..Até) dbGoTop() * // feche o ORDSCOPE AO SAIR. VOCE SO ABRIU E NAO FECHOU. Return(.T.) Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 29, 2018 Report Share Posted January 29, 2018 parece que descobrir o problema... estou fazendo mas teste para ter certeza.. mas publicar aqui para que os amigos analise se tem alguma a ver:: Function FastFilter( cCad, nOrder ) Local nIndice := OrdNumber() Set order to nOrder INDEX ON &(IndexKey()) TAG _TEMP_ TO tHarbourt CUSTOM ADDITIVE MEMORY Set order to nOrder dbGotop() Do While OrdWildSeek( cCad, .T.) OrdKeyAdd( "_TEMP_" ) Enddo SysRefresh() OrdSetFocus( "_TEMP_" ) Return( nIndice ) Tire o SysRefresh() de dentro do Do While Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 29, 2018 Report Share Posted January 29, 2018 // TEM BOI NA LINHA, CHEQUE LINHA A LINHA, ONDE PODE SER O PROBLEMA. LOCAL oFont DEFINE FONT oFont SIZE 0,-15 NAME "Times" // local? cProcura := Space(30) cCampo := PadL("Descrição",10) DEFINE DIALOG oDlg RESOURCE "DLG_CON_MER" ; TITLE "..:: Manutenção de Dados .::. PRODUTOS ::.." ; TRANSPARENT FONT oFont * // oDlg:lTransparent := .T. oDlg:lHelpIcon := .F. * oBrw := TxBrowse():New( oDlg ) oBrw:CreateFromResource( 101 ) oBrw:cAlias := 'BanMerca' ADD COLUMN TO XBROWSE oBrw TITLE "" SIZE 30 * ADD COLUMN TO XBROWSE oBrw DATA M_FAMILIA TITLE "Família" SIZE 200 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_CODIGO TITLE "Código" SIZE 80 COLORS 128 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_DESCRICA TITLE "Descrição" SIZE 350 COLORS 128 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_REFERENC TITLE "Referência" SIZE 120 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_CODBAR TITLE "Código de Barras" SIZE 100 ALIGN LEFT * If nTp = 1 ADD COLUMN TO XBROWSE oBrw DATA M_QUANTIDA TITLE "Quantidade" SIZE 90 ALIGN RIGHT Else ADD COLUMN TO XBROWSE oBrw DATA M_QUANTIDA TITLE "Estoque" SIZE 90 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_CN TITLE "C/N" SIZE 90 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_SN TITLE "S/N" SIZE 90 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_CUSTO TITLE "Preço Custo" SIZE 90 COLORS 128 ALIGN RIGHT EndIf * ADD COLUMN TO XBROWSE oBrw DATA M_VENDA TITLE "Preço Venda" SIZE 90 COLORS 128 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_FORNECED TITLE "Fornecedor" SIZE 200 ALIGN LEFT ADD COLUMN TO XBROWSE oBrw DATA M_EMINIMO TITLE "Est.Min." SIZE 50 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_EMAXIMO TITLE "Est.Máx." SIZE 50 ALIGN RIGHT ADD COLUMN TO XBROWSE oBrw DATA M_DT_ATUAL TITLE "Dt.Ult.Atual." SIZE 100 * oBrw:nRowHeight := 30 oBrw:lColDividerComplete := .f. oBrw:nDataLines := 2 // Number of lines of the data rows oBrw:nHeaderLines := 2 // Number of lines of the header oBrw:nFooterLines := 2 // Number of lines of the footer oBrw:nDataType := 0 // Data type to be used: 0->rdd, 1->array, ... (more to come) If navigation codeblocks are not specified then get automatically initialized when adjusting the browse depending on this DATA value oBrw:nHeaderHeight := 30 // oBrw:bSeek := {|c| DbSeek(Upper( c )) } oBrw:nFreeze := 1 oBrw:nColDividerStyle := 2 // Column divider style: 0 No lines 1 Black line 2 Dark gray line 3 Raised 4 Inset 5 Fore Color 6 Light gray oBrw:nRowDividerStyle := 2 // Column divider style: 0 No lines 1 Black line 2 Dark gray line 3 Raised 4 Inset 5 Fore Color 6 Light gray * // VERIFICAR ESSAS BITMAPS, SE NAO ESTAO DANIFICADAS. oBrw:aCols[3]:AddBmpFile( "BMP\Organiza.bmp" ) oBrw:aCols[3]:nHeadBmpNo := 0 oBrw:aCols[3]:nHeadBmpAlign := 1 * oBrw:aCols[4]:AddBmpFile( "BMP\Organiza.bmp" ) oBrw:aCols[4]:nHeadBmpNo := 1 oBrw:aCols[4]:nHeadBmpAlign := 1 * oBrw:aCols[1]:AddBmpFile( "BMP\Up.Bmp" ) oBrw:aCols[1]:AddBmpFile( "BMP\Down.Bmp" ) oBrw:aCols[1]:AddBmpFile( "BMP\Down1.Bmp" ) oBrw:aCols[1]:bBmpData := { || If( BanMerca->M_QUANTIDA <= 0, 3, If(BanMerca->M_CN <= BanMerca->M_EMINIMO, 2, 1 )) } oBrw:aCols[1]:nDataBmpAlign := 3 * oBrw:aCols[3]:bLClickHeader := {|| Sel("BanMerca",1), oBrw:aCols[3]:nHeadBmpNo := 1, oBrw:aCols[4]:nHeadBmpNo := 0, oBrw:Refresh() } oBrw:aCols[4]:bLClickHeader := {|| Sel("BanMerca",2), oBrw:aCols[3]:nHeadBmpNo := 0, oBrw:aCols[4]:nHeadBmpNo := 1, oBrw:Refresh() } ***** REDEFINE COMBOBOX oCbx VAR cCampo PROMPTS {"Descrição","Código","Referência","Família","Fornecedor","Contendo Nome"} UPDATE ID 108 OF oDlg ***** REDEFINE GET oGet VAR cProcura ID 106 OF oDlg ON CHANGE (BcDdProduto(oGet,cCampo,oBrw), oBrw:Refresh(), oBrw:Update()) * // VERFIQUE ISTO: oDlg:Update(), oDlg:Refresh() qual razao disso? REDEFINE BUTTON ID 107 OF oDlg ACTION (EditProduto(1), oDlg:Update(), oDlg:Refresh()) REDEFINE BUTTON ID 102 OF oDlg ACTION (EditProduto(2), oDlg:Update(), oDlg:Refresh()) REDEFINE BUTTON ID 103 OF oDlg ACTION (Excluir() , oDlg:Update(), oDlg:Refresh()) // Saida REDEFINE BUTTON ID 105 OF oDlg ACTION ( oDlg:End() ) CANCEL * ACTIVATE DIALOG odlg CENTER * // DbCloseAll() // Destrua a FONTE: oFont:End() // FECHAR OS FILTROS. Return Nil * Function BcDdProduto(cP,cC,oB) Local cPro := cP:cText() Do Case Case AllTrim(cC) == "Descrição" Sel(DBF(),2) Case AllTrim(cC) == "Família" Sel(DBF(),4) Case AllTrim(cC) == "Fornecedor" Sel(DBF(),3) Case AllTrim(cC) == "Código" Sel(DBF(),1) Case AllTrim(cC) == "Referência" Sel(DBF(),5) Case AllTrim(cC) = "Contendo Nome" Sel(DBF(),2) FastFilter( RTrim(cPro), 2) dbGoTop() // FECHE ESTE FILTRO TAMBEM: SET FILTER TO OU EQUIVALENTE. Return(.t.) OTHERWISE Sel(DBF(),1) EndCase * dbSetOrder( INDEXORD() ) // define a ordem de filtro ?? ordScope( 0, RTrim(cPRO) ) // TOP (De...) ordScope( 1, RTRim(cPro) ) // BOTTOM (..Até) dbGoTop() * // feche o ORDSCOPE AO SAIR. VOCE SO ABRIU E NAO FECHOU. Return(.T.) Vlw @kapiaba!!! Eu não fecho os filtros e ordscope porque ao sair da tela de produtos o arquivo DBF é fechado (DbCloseall()) assim fecha tudo (Filtros, OrdScope)...mas o problema parece que estar no SysRefresh() como citei a pouco... SysRefresh estava dentro do Do While OrdWildSeek( cCad, .T.) OrdKeyAdd( "_TEMP_" ) SysRefresh() // TIREI ESSE SYSREFRES DAQUI E COLOQUEI APOS ENDDO Enddo Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 29, 2018 Author Report Share Posted January 29, 2018 Tem mais FONTES e IMAGENS, que você não está fechando ou danificadas. Verifique se você não tem FONTES PÚBLICAS na WINDOW PRINCIPAL. Passe a LOCAL e destrua. abs. Theotokos 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 29, 2018 Author Report Share Posted January 29, 2018 Eu tiraria isso aqui: CUSTOM ADDITIVE Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 29, 2018 Report Share Posted January 29, 2018 Eu tiraria isso aqui: CUSTOM ADDITIVE eu tirei para testar, mas ai não funciona a procura... o indice gerado não inclui todos kapiaba 1 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.