Anderson.OL Posted September 2, 2005 Report Share Posted September 2, 2005 Bom dia a todos... Como postei a pouco tempo atras, estou desenvolvendo um módulo de impressão de etiquetas, e pra isto, estou gerando a impressão no TDosPrn, sem o caracter ♀ (chr(12), caracter de Eject). Até aki, todos os problemas foram superados, sendo que, (infelizmente sempre tem o sendo que), quando uma página no TDosPrn tem muitas linhas, é gerado o seguinte erro: Error base/1209 String overflow: + from Errorsys, line 0 Alguem sabe como fazer com que este erro não ocorra mais? Obs: Mas a solucao não pode incluir o chr(12). Abraço a todos e desde já um muito obrigado. Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Editado por - Anderson.OL on 02/09/2005 11:08:09 Editado por - Anderson.OL on 02/09/2005 16:04:10 Editado por - Anderson.OL on 05/09/2005 11:25:10 Editado por - Anderson.OL on 05/09/2005 16:08:13 Editado por - Anderson.OL on 05/09/2005 17:57:17 Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 2, 2005 Author Report Share Posted September 2, 2005 Bom dia a todos... Como postei a pouco tempo atras, estou desenvolvendo um módulo de impressão de etiquetas, e pra isto, estou gerando a impressão no TDosPrn, sem o caracter ♀ (chr(12), caracter de Eject). Até aki, todos os problemas foram superados, sendo que, (infelizmente sempre tem o sendo que), quando uma página no TDosPrn tem muitas linhas, é gerado o seguinte erro: Error base/1209 String overflow: + from Errorsys, line 0 Alguem sabe como fazer com que este erro não ocorra mais? Obs: Mas a solucao não pode incluir o chr(12). Abraço a todos e desde já um muito obrigado. Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Editado por - Anderson.OL on 02/09/2005 11:08:09 Editado por - Anderson.OL on 02/09/2005 16:04:10 Editado por - Anderson.OL on 05/09/2005 11:25:10 Editado por - Anderson.OL on 05/09/2005 16:08:13 Editado por - Anderson.OL on 05/09/2005 17:57:17 Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 2, 2005 Author Report Share Posted September 2, 2005 Bom dia a todos... Como postei a pouco tempo atras, estou desenvolvendo um módulo de impressão de etiquetas, e pra isto, estou gerando a impressão no TDosPrn, sem o caracter ♀ (chr(12), caracter de Eject). Até aki, todos os problemas foram superados, sendo que, (infelizmente sempre tem o sendo que), quando uma página no TDosPrn tem muitas linhas, é gerado o seguinte erro: Error base/1209 String overflow: + from Errorsys, line 0 Alguem sabe como fazer com que este erro não ocorra mais? Obs: Mas a solucao não pode incluir o chr(12). Abraço a todos e desde já um muito obrigado. Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Editado por - Anderson.OL on 02/09/2005 11:08:09 Editado por - Anderson.OL on 02/09/2005 16:04:10 Editado por - Anderson.OL on 05/09/2005 11:25:10 Editado por - Anderson.OL on 05/09/2005 16:08:13 Editado por - Anderson.OL on 05/09/2005 17:57:17 Quote Link to comment Share on other sites More sharing options...
Kleyton Posted September 2, 2005 Report Share Posted September 2, 2005 Quantas linhas você reparou que está dando o erro? Já verificou qual o limite? Kleyton Clipper5.2E+Clipper5.3b+Blink7+FW2.0d cleitonbala@bol.com.br Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 2, 2005 Author Report Share Posted September 2, 2005 citação:Quantas linhas você reparou que está dando o erro? Já verificou qual o limite? Kleyton Clipper5.2E+Clipper5.3b+Blink7+FW2.0d cleitonbala@bol.com.br id=quote>id=quote>Imprime no máximo, em média de 640 linhas... Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 2, 2005 Author Report Share Posted September 2, 2005 Se ajudar, eu utilizo a TDosPrn baixada do Link: http://www.fivewin.com.br/exibedicas.asp?id=226 indikada pelo kerido kapiaba. Abraços. Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 2, 2005 Report Share Posted September 2, 2005 VEJA A QUANTIDADE DE CARACTERES QUE ESTA SENDO IMPRESSO EM CADA LINHA, UMA DELAS, 'ESTOUROU'. NÃO ESQUEÇA DE DAR O 'CARRIAGE RETURN' EM CADA UMA DELAS. EX: nLinha := nLinha + 1 TERCEIRO ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005 EU APOIO E VOU. Bad Boy - São Paulo. kmt_karinha@pop.com.br FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 2, 2005 Author Report Share Posted September 2, 2005 Kro kapi, se o "carriege return" for pular a linha, isto eu faço. E qto a quantidade de caracteres por linha não chega a 120 caracteres.... E kreio que o problema seja a falta do eject, tipo, tem muitas linhas... Continuo contando com a ajuda de todos para resolver este problema Abraços. Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 2, 2005 Report Share Posted September 2, 2005 na ultima linha, tambem tem que ter o carriage return. verifique jogando para um arquivo.txt, e veja onde okorre. TERCEIRO ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005 EU APOIO E VOU. Bad Boy - São Paulo. kmt_karinha@pop.com.br FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 2, 2005 Author Report Share Posted September 2, 2005 citação:na ultima linha, tambem tem que ter o carriage return. verifique jogando para um arquivo.txt, e veja onde okorre. TERCEIRO ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005 EU APOIO E VOU. Bad Boy - São Paulo. kmt_karinha@pop.com.br FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE id=quote>id=quote>Kapiaba, este eh um processo repetitivo... eu seleciono um produto e peço para gera 100, 200 ou 300 etiquetas.... Tudo ocorre as mil maravilhas.... Mas qdo a qtde ultrapassa o numero 650, eh gerado o erro citado acima..... Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 2, 2005 Report Share Posted September 2, 2005 POSTE O CODIGO PRA MOÇADA BOA DAR UMA OLHADA. VEJA TAMBEM, OS EXEMPLOS COM LABEL NO SAMPLES... VOCE ESTà ZERANDO nLinha a cada pagina Gerada no LOOPING? ex: WHILE !EOF() IF nLinha >= 56 nLinha := 0 ENDIF ... ENDDO TERCEIRO ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005 EU APOIO E VOU. Bad Boy - São Paulo. kmt_karinha@pop.com.br FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE Editado por - kapiaba on 02/09/2005 15:54:32 Editado por - kapiaba on 02/09/2005 15:55:49 Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 2, 2005 Author Report Share Posted September 2, 2005 Segue como solicitado o meu codigo. ******************************* static function ActPrnInd(QTDE) ******************************* //--Declaracao de variaveis oPrin := SetDevPrint("ETIQ.TXT",.f.) LIN := 0 @ lin++,00 psay chr(27) + "A" + chr(8) # define I_CON1 chr(27)+"M"+chr(15) CONT := 1 do while CONT <= QTDE //... //Carrega variaveis a serem impressas //Incrementa contador //... @ lin++,00 psay I_CON1 + EM1+S3+EM2+S4+EM3+S2+EM4+S3+EM5 @ lin++,00 psay RR1+S3+RR2+S4+RR3+S2+RR4+S3+RR5 @ lin++,00 psay RRX1+S3+RRX2+S4+RRX3+S2+RRX4+S3+RRX5 @ lin++,00 psay XM1+S3+XM2+S4+XM3+S2+XM4+S3+XM5 @ lin++,00 say " " enddo SetDevScreen(oPrin) mostratxt("ETIQ.TXT") return .t. **************************** function MostraTxt(TextFile) **************************** local oPrn, cPorta, cTitulo local cTmp, nItens SetMTxtPreview( .t., 5, 1, .f., .t. ) cTitulo:= "**** Visualizacao de relatorio ****" cPorta := "LPT1" nItens := nTotal := 0 TxtPreview( TextFile, cTitulo, .t. , .f. ) return nil ********************************** function SetDevPrint(Porta,lEject) ********************************** local oPrin //--Instancia o objeto oPrin:= TDosPrn():New(Porta) //--Inicializa a pagina oPrin:StartPage() oPrin:lZeraBuffer := .f. return oPrin ***************************** procedure SetDevScreen(oPrin) ***************************** //--Finaliza a emissao do relatorio oPrin:EndPage() //--Destroi a instancia do objeto oPrin:End() return NIL Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
Kleyton Posted September 2, 2005 Report Share Posted September 2, 2005 Anderson, estou enviando para seu e-mail, a classe TDOSPRN que utilizo para gerar arquivo magnético para banco... Kleyton Clipper5.2E+Clipper5.3b+Blink7+FW2.0d cleitonbala@bol.com.br Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted September 2, 2005 Report Share Posted September 2, 2005 Anderson, O problema não está na TDOSPRN e sim nesse TXTPREVIEW() que deve ter limite de 64k no deverá ser mostrado. Faça um teste imprimindo direto que você vai ver imprimir corretamente. Paulo/CONTATO SISTEMAS Clipper53b / FW26 / Blinker70 Ajudar é um prazer, agradecer é uma obrigação PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005 Editado por - pauloaraujo on 02/09/2005 19:10:16 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 5, 2005 Report Share Posted September 5, 2005 citação:Anderson, O problema não está na TDOSPRN e sim nesse TXTPREVIEW() que deve ter limite de 64k no deverá ser mostrado. Faça um teste imprimindo direto que você vai ver imprimir corretamente. Paulo/CONTATO SISTEMAS Clipper53b / FW26 / Blinker70 Ajudar é um prazer, agradecer é uma obrigação PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005 Editado por - pauloaraujo on 02/09/2005 19:10:16 id=quote>id=quote>DUVIDAS QUANTO A TXTPREVIEW, ENTRAR EM CONTATO COM O SR. EDNALDO ROLIM. ednaldorolim@uol.com.br TERCEIRO ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005 EU APOIO E VOU. Bad Boy - São Paulo. kmt_karinha@pop.com.br FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 5, 2005 Author Report Share Posted September 5, 2005 citação:Anderson, estou enviando para seu e-mail, a classe TDOSPRN que utilizo para gerar arquivo magnético para banco... Kleyton Clipper5.2E+Clipper5.3b+Blink7+FW2.0d cleitonbala@bol.com.br id=quote>id=quote>Kleyton, naum recebi seu e-mail.... seria possivel envia-lo para sac@rcasistemas.com.br Obrigado Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 5, 2005 Author Report Share Posted September 5, 2005 citação:Anderson, O problema não está na TDOSPRN e sim nesse TXTPREVIEW() que deve ter limite de 64k no deverá ser mostrado. Faça um teste imprimindo direto que você vai ver imprimir corretamente. Paulo/CONTATO SISTEMAS Clipper53b / FW26 / Blinker70 Ajudar é um prazer, agradecer é uma obrigação PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005 Editado por - pauloaraujo on 02/09/2005 19:10:16 id=quote>id=quote>Paulo... aparentemente o erro é realmente no TDosPrn, pois pelo o q eu analisei, a classe executa um MemoWrite para kda pagina, e por naum haver a impressão do chr(12) (pulo de pagina), este MemoWrite naum consegue ser executado (isto é uma dedução minha, posso estar errado). Naum eh gerado um arquivo Error.log, por isto naum tenho a segurança de afirmar o motivo do erro. Desde já agradeço a ajuda de todos. Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 5, 2005 Author Report Share Posted September 5, 2005 citação: citação:Anderson, O problema não está na TDOSPRN e sim nesse TXTPREVIEW() que deve ter limite de 64k no deverá ser mostrado. Faça um teste imprimindo direto que você vai ver imprimir corretamente. Paulo/CONTATO SISTEMAS Clipper53b / FW26 / Blinker70 Ajudar é um prazer, agradecer é uma obrigação PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005 Editado por - pauloaraujo on 02/09/2005 19:10:16 id=quote>id=quote>DUVIDAS QUANTO A TXTPREVIEW, ENTRAR EM CONTATO COM O SR. EDNALDO ROLIM. ednaldorolim@uol.com.br TERCEIRO ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005 EU APOIO E VOU. Bad Boy - São Paulo. kmt_karinha@pop.com.br FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE id=quote>id=quote>Kapiaba... para fazer mais testes, desabilitei o uso do TXTPREVIEW, o erro continuava a acontecer. DaÃ, eu passai a limitar o numero de linhas por página, e descobri que o erro só acontece qdo o numero de linhas por pagina excede o numero 685. Sei q vc eh o kra q mais colabora neste fórum... Dê-me uma forcinha aki kra. Abraços. Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
Kleyton Posted September 5, 2005 Report Share Posted September 5, 2005 Anderson, tentou utilizando a classe TDOSPRN que lhe envie? Kleyton Clipper5.2E+Clipper5.3b+Blink7+FW2.0d cleitonbala@bol.com.br Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 5, 2005 Author Report Share Posted September 5, 2005 citação:Anderson, tentou utilizando a classe TDOSPRN que lhe envie? Kleyton Clipper5.2E+Clipper5.3b+Blink7+FW2.0d cleitonbala@bol.com.br id=quote>id=quote>Como respondi anteriormente, tive problema para baixa-lo... Por favor, se possivel, reenvie para sac@rcasistemas.com.br Abraços. Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 5, 2005 Author Report Share Posted September 5, 2005 Ajudem-me plz.... Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* Quote Link to comment Share on other sites More sharing options...
gilmer Posted September 5, 2005 Report Share Posted September 5, 2005 Olá, Se você der o ENDPAGE mais vezes não terá problemas de String Overflow, você tem que liberar o buffer Quote Link to comment Share on other sites More sharing options...
gvc Posted September 5, 2005 Report Share Posted September 5, 2005 Vc já verificou quantos caracteres são impressos nesse arquivo que é criado com a classe tdosprn. Verifique se não esta passando dos 64 Kbytes. Verifique a classe que faz o seu preview. Não lembro ao certo, mas parece que ela abre um DBF temporário e abre o arquivo texto com algo como o memoread. Tente inverter o funcionamento. Crie um arquivo temporário. grave uma linha por registro. Abra um browse para o usuário ter o preview e faça a impressão. Teste isso para verificar se vc consegue contornar o problema de linhas. Quote Link to comment Share on other sites More sharing options...
Kleyton Posted September 6, 2005 Report Share Posted September 6, 2005 Anderson, enviei novamente para o endereço sac@rcasistemas.com.br Kleyton Clipper5.2E+Clipper5.3b+Blink7+FW2.0d cleitonbala@bol.com.br Quote Link to comment Share on other sites More sharing options...
Anderson.OL Posted September 6, 2005 Author Report Share Posted September 6, 2005 citação:Olá, Se você der o ENDPAGE mais vezes não terá problemas de String Overflow, você tem que liberar o buffer id=quote>id=quote>Gilmer, estou utilizando uma TDOSPRN modificada por vc, e seguindo esta sua dica, parece que o EndPage() força a ejetar a pagina, e eu não posso fazer isto, por ser impressão de etiquetas. O EndPage zera as propriedades ::nRow, ::nCol, se minha lógica está certa, isto pra mim não serve. Alguma outra ideia (ou correção na minha analise)? Abracos Nesse mundo nada se cria, tudo se compila<< //--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --// //-- _Dom Quixote_ RO Iris Server / Agility Kina / 7*/3* 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.