oziel Posted May 11, 2010 Report Share Posted May 11, 2010 Colegas. Meu sistema roda desde 2005 em FW com Clipper 5.2e, linkeditado com Blinker 7.0 fiz umas mudanças colocando o prog. de indices no sistema e me deparei com um problema, quando indexo em um prog. utilizando o Clipper 5.2e os indices CDX ficam perfeitos, mais quando roda no clipper 5.3 o arq. de indices ficam zerados. Notei que o tamanho do arq cdx fica pequeno. Detalhe é que reindexando pelo Foxprox 2.6 ou ARC 32 os indices ficam ok. Vejam os fontes abaixo. // Arquivo LNK ------------------ BLINKER INCREMENTAL OFF BLINKER CLIPPER SYMBOL OFF BLINKER EXECUTABLE COMPRESS NOBELL PACKCODE PACKDATA DEFBEGIN name FiveWin description 'GRH 4.5 ' exetype Windows 3.1 code moveable discardable preload data preload moveable stacksize 9500 heapsize 1024 segment 'PLANKTON_TEXT' nondiscardable segment 'EXTEND_TEXT' nondiscardable segment 'OM_TEXT' nondiscardable segment 'OSMEM_TEXT' nondiscardable segment 'SORTOF_TEXT' nondiscardable segment 'STACK_TEXT' nondiscardable DEFEND BEGIN AREA File GRH .... File Func .... File Mpar // para quem evitar bug no Blinker ENDAREA LIB C:\FW22C\LIB\FIVE LIB C:\FW22C\LIB\FIVEC LIB C:\FW22C\LIB\OBJECTS LIB C:\FW22C\LIB\WINAPI LIB C:\CLIP53\LIB\CLIPPER LIB C:\CLIP53\LIB\_DBFCDX,DBFCDX LIB C:\CLIP53\LIB\EXTEND LIB C:\CLIP53\LIB\TERMINAL LIB C:\CLIP53\LIB\Dbuttons //---------------------------------------------- // Arquivo Principal do programa -> GRH.PRG REQUEST _DBFCDX RddSetDefault("_DBFCDX") SetHandleCount( 200 ) //---- Arquivo de Funções Func.prg ---------------------------- #include "FiveWin.ch" #Include 'Inkey.Ch' PROCEDURE Reindexar LOCAL bAction bAction := { | oMeter, oText, oDlg, lEnd | Reorganiza( oMeter, oText, oDlg, @lEnd ) } If MsgYesNo(" Confirma a Reorganizacao ? "," Mensagem: ") = .T. Continue Else MsgRun(" Retornando ao Sistema... "," Mensagem ") Return Endif MsgMeter( bAction ,"Preparando...","Reorganização da base de dados" ) RETURN //------------------------------------------------------------------------- STATIC FUNCTION Reorganiza(oMeter,oText,oDlg,lEnd) DbCloseAll() oText:SetText(" Limpando arquivos de Indices... ") // Apagando Arquivos de Indices // para cria‡Æo de novos arquivos Erase ATENDE.CDX .... .... // Fim // Reoganizando o Arq de Atendimentos oText:SetText("Classificando Atendimentos... Arq ") Use ATENDE Alias ATENDE EXCLU oMeter:nTotal := ATENDE->( LastRec()*1 ) PACK INDEX ON NOME TAG ATENDEN TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 //1 INDEX ON EMPRESA TAG ATENDEE TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 //2 INDEX ON DTOS(DT_ADM)+NOME TAG ATENDED TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 3 INDEX ON DTOS(NASC) TAG ATENDENS TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 4 INDEX ON IDADE TAG ATENDEID TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 5 INDEX ON DATA TAG ATENDEDT TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 6 INDEX ON NUMCAM TAG ATENDECA TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 7 INDEX ON DTOS(DTENTREGA)+SETOR TAG ATENDTEN TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 8 INDEX ON DTOS(DTSUBST)+SETOR TAG ATENDTSU TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 9 INDEX ON CODIGO TAG ATENDCOD TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 10 INDEX ON DTOS(CONSULTA)+NOME TAG AT_CONS TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 11 //----- Arquivo Auto53.bat -------------- @echo Off PATH C:\WINDOWS;C:\WINDOWS\SYSTEM32;C:\CLIP53;C:\CLIP53A\BIN;C:\PVSW\BIN;%PATH% SET INCLUDE=C:\CLIP53\INCLUDE SET LIB=C:\CLIP53\LIB SET OBJ=C:\CLIP53\OBJ SET PLL=C:\CLIP53\PLL SET TEMP=C:\WINDOWS\TEMP SET SWAP=C:\WINDOWS\TEMP SET CLIPPER=F141 //---------------------------------------- OZIEL LOPES FW 22c - Clipper 5.3b - Workshop 4.0 Quote Link to comment Share on other sites More sharing options...
oziel Posted May 11, 2010 Author Report Share Posted May 11, 2010 Colegas. Meu sistema roda desde 2005 em FW com Clipper 5.2e, linkeditado com Blinker 7.0 fiz umas mudanças colocando o prog. de indices no sistema e me deparei com um problema, quando indexo em um prog. utilizando o Clipper 5.2e os indices CDX ficam perfeitos, mais quando roda no clipper 5.3 o arq. de indices ficam zerados. Notei que o tamanho do arq cdx fica pequeno. Detalhe é que reindexando pelo Foxprox 2.6 ou ARC 32 os indices ficam ok. Vejam os fontes abaixo. // Arquivo LNK ------------------ BLINKER INCREMENTAL OFF BLINKER CLIPPER SYMBOL OFF BLINKER EXECUTABLE COMPRESS NOBELL PACKCODE PACKDATA DEFBEGIN name FiveWin description 'GRH 4.5 ' exetype Windows 3.1 code moveable discardable preload data preload moveable stacksize 9500 heapsize 1024 segment 'PLANKTON_TEXT' nondiscardable segment 'EXTEND_TEXT' nondiscardable segment 'OM_TEXT' nondiscardable segment 'OSMEM_TEXT' nondiscardable segment 'SORTOF_TEXT' nondiscardable segment 'STACK_TEXT' nondiscardable DEFEND BEGIN AREA File GRH .... File Func .... File Mpar // para quem evitar bug no Blinker ENDAREA LIB C:\FW22C\LIB\FIVE LIB C:\FW22C\LIB\FIVEC LIB C:\FW22C\LIB\OBJECTS LIB C:\FW22C\LIB\WINAPI LIB C:\CLIP53\LIB\CLIPPER LIB C:\CLIP53\LIB\_DBFCDX,DBFCDX LIB C:\CLIP53\LIB\EXTEND LIB C:\CLIP53\LIB\TERMINAL LIB C:\CLIP53\LIB\Dbuttons //---------------------------------------------- // Arquivo Principal do programa -> GRH.PRG REQUEST _DBFCDX RddSetDefault("_DBFCDX") SetHandleCount( 200 ) //---- Arquivo de Funções Func.prg ---------------------------- #include "FiveWin.ch" #Include 'Inkey.Ch' PROCEDURE Reindexar LOCAL bAction bAction := { | oMeter, oText, oDlg, lEnd | Reorganiza( oMeter, oText, oDlg, @lEnd ) } If MsgYesNo(" Confirma a Reorganizacao ? "," Mensagem: ") = .T. Continue Else MsgRun(" Retornando ao Sistema... "," Mensagem ") Return Endif MsgMeter( bAction ,"Preparando...","Reorganização da base de dados" ) RETURN //------------------------------------------------------------------------- STATIC FUNCTION Reorganiza(oMeter,oText,oDlg,lEnd) DbCloseAll() oText:SetText(" Limpando arquivos de Indices... ") // Apagando Arquivos de Indices // para cria‡Æo de novos arquivos Erase ATENDE.CDX .... .... // Fim // Reoganizando o Arq de Atendimentos oText:SetText("Classificando Atendimentos... Arq ") Use ATENDE Alias ATENDE EXCLU oMeter:nTotal := ATENDE->( LastRec()*1 ) PACK INDEX ON NOME TAG ATENDEN TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 //1 INDEX ON EMPRESA TAG ATENDEE TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 //2 INDEX ON DTOS(DT_ADM)+NOME TAG ATENDED TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 3 INDEX ON DTOS(NASC) TAG ATENDENS TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 4 INDEX ON IDADE TAG ATENDEID TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 5 INDEX ON DATA TAG ATENDEDT TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 6 INDEX ON NUMCAM TAG ATENDECA TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 7 INDEX ON DTOS(DTENTREGA)+SETOR TAG ATENDTEN TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 8 INDEX ON DTOS(DTSUBST)+SETOR TAG ATENDTSU TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 9 INDEX ON CODIGO TAG ATENDCOD TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 10 INDEX ON DTOS(CONSULTA)+NOME TAG AT_CONS TO ATENDE; EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 11 //----- Arquivo Auto53.bat -------------- @echo Off PATH C:\WINDOWS;C:\WINDOWS\SYSTEM32;C:\CLIP53;C:\CLIP53A\BIN;C:\PVSW\BIN;%PATH% SET INCLUDE=C:\CLIP53\INCLUDE SET LIB=C:\CLIP53\LIB SET OBJ=C:\CLIP53\OBJ SET PLL=C:\CLIP53\PLL SET TEMP=C:\WINDOWS\TEMP SET SWAP=C:\WINDOWS\TEMP SET CLIPPER=F141 //---------------------------------------- OZIEL LOPES FW 22c - Clipper 5.3b - Workshop 4.0 Quote Link to comment Share on other sites More sharing options...
aferra Posted May 11, 2010 Report Share Posted May 11, 2010 Olá Oziel, eu desta forma e nunca tive nenhum problema SetHandleCount(100) REQUEST DBFCDX RddSetDefaut("DBFCDX") dbSetDriver("_DBFCDX") dbSetDriver("DBFCDX") Alessandroid=blue> FW20d+CL53b+Blk7+@Say+CDX FW9.07+xHb121+PellesC+CDX "Uma imaginação bem canalizada é fonte de grandes proezas"id=red> Quote Link to comment Share on other sites More sharing options...
oziel Posted May 11, 2010 Author Report Share Posted May 11, 2010 Fiz as alterações Deu esse erro. Mensagem: Blinker : 1115 : DBFCDX.LIB (SWUTIL3): ´__FCOMPP´ Unresolved exeternal. OZIEL LOPES FW 22c - Clipper 5.3b - Workshop 4.0 Quote Link to comment Share on other sites More sharing options...
aferra Posted May 11, 2010 Report Share Posted May 11, 2010 Olá Oziel, tente inverter isso dentro do lnk e delete todos os .obj(s) somando a dica que já lhe dei. LIB C:\CLIP53\LIB\Dbuttons LIB C:\FW22C\LIB\FIVE LIB C:\FW22C\LIB\FIVEC LIB C:\FW22C\LIB\OBJECTS LIB C:\FW22C\LIB\WINAPI LIB C:\CLIP53\LIB\DBFCDX LIB C:\CLIP53\LIB\_DBFCDX LIB C:\CLIP53\LIB\CLIPPER LIB C:\CLIP53\LIB\EXTEND LIB C:\CLIP53\LIB\TERMINAL Alessandroid=blue> FW20d+CL53b+Blk7+@Say+CDX FW9.07+xHb121+PellesC+CDX "Uma imaginação bem canalizada é fonte de grandes proezas"id=red> Quote Link to comment Share on other sites More sharing options...
oziel Posted May 11, 2010 Author Report Share Posted May 11, 2010 Obrigado. Fiz as alterações Mas invelismente erro continua... OZIEL LOPES FW 22c - Clipper 5.3b - Workshop 4.0 Quote Link to comment Share on other sites More sharing options...
oziel Posted May 13, 2010 Author Report Share Posted May 13, 2010 Infelizmente... escrevi infelismente... Felizmente alterei para. SetHandleCount(100) REQUEST DBFCDX RddSetDefaut("DBFCDX") dbSetDriver("DBFCDX") e funcionou. Tudo indica que eu tenha que ir para FWH o mais ráipdo possÃvel para ver ser esses probleminhas não aparecem .... Obrigado. OZIEL LOPES FW 22c - Clipper 5.3b - Workshop 4.0 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.