ERRO EM RELATORIO MAIOR QUE 16 PAGINAS

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

andrethomazi
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 19 Jul 2005 08:50

ERRO EM RELATORIO MAIOR QUE 16 PAGINAS

Mensagem por andrethomazi »

Pessoal, estou com um problema simples, mas não acho a solução:
- compilo e executo meu sistema em XPs da vida normalmente, mas quando executo em 98, a função de exibir relatorios maiores que 15 páginas não funciona, dá erro "conventional memory exausted" e aborta o programa.
Detalhe: não são em todos os micros com 98 que dá esse pau.
Detalhe 2: a função que uso para exibir os relatórios é a REL64, acho que tirada aqui neste site mesmo.
------------------------------------------------------------------------
alguém podendo ajudar? Já postei esta msg neste forum, sem sucesso, o problema persiste, inclusive em micros com XP e 256 de ram.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Buenas...
Tche, não sei que função é essa ai (REL64), mas faça um teste com esse link abaixo eu uso e aprovo....faço relatorios muita mais alem de 30 paginas e não me dah problema nem em WIN98 e nem em WINXP.

https://pctoledo.org/forum/viewtopic.php?t=3954

Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Ahhh, é isso aí Leonardo. Eu ja estava pensando no gerenciamento de memoria... caramba quatro. Mas você matou !. Inclusive, este tema ja foi abordado várias vezes. E como resultado a idéia de abrir num TBROWSE é muito conveniente. Pois você coloca todo o conteúdo num DBF e exibe a linhas do texto (em DBF) de acordo a movimentação no TBROWSE. Alias em quase todos os meus relatórios, são exibidos atarvés de um DBF temporário. Inclusive, em alguns eu aninho outras funções. Como por exemplo:

Digamos num relatorio de devedores. Se na linha X e coluna Y, contiver Ficha nº 00001, e o usuário der um ENTER emcima dessa linha, eu faço com que exiba a ficha cadastral do cliente (por exemplo). Isto permite ao relatório em TELA, ser TAMBÉM um modo de consulta. Mas claro, estas posições tem de serem FIXAS (não variáveis). Também podes procurar por uma substring (que você sabe que sempre estará lá e criar em variável com o conteúdo apartir daquela SUBSTRING. O tratamento de texto em TBROWSE, é muito rico, rápido, seguro. E até dá para imprimí-lo para impressora, dali de dentro da exibição em tela.

Mas SYGECOM, você matou rápido essa questão. você não acha André ?

um clip-abraço :)Pos
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche Pablo.....primeiro uma otima semana pra vc...segundo...o mérito é do digitom, através desse fonte dele montei meu proprio que nem vc mesmo disse da li mesmo eu posso mandar imprimir enviar o relatorio por email e bla,bla,bla...podemos fazer o que quiser.

Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

sygecom escreveu:uma otima semana pra vc...
Obrigado, Tchê pra vocês também.
sygecom escreveu:o mérito é do digitom
O que eu quiz dizer, é que você foi direto ao ponto em encontrar uma solução para o colega André. E essa idéia, ora que você tenha aproveitado do colega DIGITOM, tem créditos que vem de há muito tempo e de autor desconhecido. Pois como eu disse, ja foi mencionado aqui diversas vezes. Mas enfim, a idéia é essa e vale a pena ser mencionada sempre para estes casos.

Um clip-abraço :)Pos
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, soh falta agora nosso colega ai andrethomazi nos dizer se deu certo....

Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
andrethomazi
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 19 Jul 2005 08:50

Mensagem por andrethomazi »

digo-lhes: nao quero mudar a função nao. A minha ta toda ajustada. Tenho certeza que o bug nao é na função chamada e sim em arquivo de Linkedição ou configuração de xp.
Indicaram-me em outro tópico uma versao mais recente do blinker, mas não consigo encontrar nenhuma para download que seja acima de 5.0 (a que uso atualmente).
abraços a todos.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, não quero contrariar vc ....mas pq vc tem tanta certeza que não é a função ? outra coisa vc pode postar essa função para nos dar uma olhada ? me mande seu email que envio o BLINKER 7 pra vc..

Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Caro André,

De você querer mudar ou não, já é uma questão que você devia RE-AVALIAR. Você mesmo diz na sua primeira mensagem que o erro foi "conventional memory exausted". Isso ja diz tudo, é problema com memória. O Clipper tem limitação de 64K para edição, não sei se você vai conseguir, mesmo que compile com BLINKER PROTEGIDO, EXOSPACE e caramba quatro...

A nossa indicação, continua sendo a mesma. Você verá que será mais seguro e você poderá obter maiores recursos com essa nova formalidade de edição.

YOU SHOULD THINK ABOUT !

Um clip-abraço :)Pos
andrethomazi
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 19 Jul 2005 08:50

Mensagem por andrethomazi »

vai o mail: andrethomazi@netsite.com.br
quanto ao fato de mudar, a função que uso foi baixada aqui mesmo no pctoledo. Tenho tanto a fazer quanto ao TEF que queria deixar a função como está e partir mais pra rodar e homologar o sistema.
esta é a função: ----------------------------------------------

function rel64(arq_, l_sup_, c_sup_,l_inf_, c_inf_,cor)
LOCAL cur_atual, cor_atual
PRIV l_arq[l_inf_-l_sup_+1], maxlin_, area_, tablin_, fim_arq_, offset_ini,;
offset_fim, lsup_:=l_sup_, csup_:=c_sup_,linf_:=l_inf_, t_w, t_r, ;
cinf_:= c_inf_, cod_sos:=55, t_c, t_s, t_d
t_w:=SETKEY(K_CTRL_W,NIL); t_r:=SETKEY(K_CTRL_R,NIL)
t_c:=SETKEY(K_CTRL_C,NIL); t_s:=SETKEY(K_CTRL_S,NIL)
t_d:=SETKEY(K_CTRL_D,NIL)
IF (area_:=FOPEN(arq_))<0
RETURN .F. // ERRO AO ABRIR ARQUIVO
ENDI
cor=IF(cor=NIL,"W+/B",cor)
cor_atual=SETCOLOR(cor)
cur_atual:=SETCURSOR(0)
@ l_sup_,c_sup_ CLEAR TO l_inf_,c_inf_
maxlin_=linf_-lsup_+1
AFILL(l_arq,"")
offset_ini:=offset_fim := 0
tablin_ = 1
fim_arq_=FSEEK(area_,0,2)
FSEEK(area_,0)
MONTA_LIN(maxlin_,0,.F.)
offset_ini=0
DO WHILE .t.
tecl_p=INKEY(0)
IF SETKEY(tecl_p)!=NIL
EVAL(SETKEY(tecl_p))
tecl_p=0
ENDI
DO CASE
CASE tecl_p=K_ESC
EXIT

CASE tecl_p=K_DOWN
MONTA_LIN(1,0)

CASE tecl_p=K_UP
MONTA_LIN(-1,0)

CASE tecl_p=K_CTRL_PGUP
offset_ini:=offset_fim := 0
AFILL(l_arq,"")
MONTA_LIN(maxlin_,0)
offset_ini=0

CASE tecl_p=K_CTRL_PGDN
offset_ini:=offset_fim := fim_arq_
AFILL(l_arq,CHR(0))
@ l_sup_+1,c_sup_+1 CLEAR TO l_inf_-1,c_inf_-1
MONTA_LIN(-1*(maxlin_),0)

CASE tecl_p=K_RIGHT
MONTA_LIN(0,10) // ELE PULA 10 ESPACOS, PODE SER ALTERADO

CASE tecl_p=K_LEFT
MONTA_LIN(0,-10) // ELE PULA 10 ESPACOS, PODE SER ALTERADO

CASE tecl_p=K_PGDN
MONTA_LIN(maxlin_-1,0)

CASE tecl_p=K_PGUP
MONTA_LIN(-1*(maxlin_-1),0)

END CASE
ENDD
FCLOSE(area_)
SETKEY(K_CTRL_W,t_w); SETKEY(K_CTRL_R,t_r)
SETKEY(K_CTRL_C,t_c); SETKEY(K_CTRL_S,t_s)
SETKEY(K_CTRL_D,t_d)
SETCURSOR(cur_atual)
SETCOLOR(cor_atual)
RETU

é BBB e rodava em qualquer pereba de micro antes de eu implementar a visual lib. Agora, roda tbem em quase tudo, mas não em tudo.
Se puderem, please, mandem-me o blinker acima do 5.0 e um exemplo de arquivo lnk junto.
Sou todo ouvidos: se for necessário a substituição da função farei pela indicada, mas se não for realmente necessário, prefiro deixar como está.

Um abraço a todos.
Andre
andrethomazi
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 19 Jul 2005 08:50

OK, VOCES VENCERAM

Mensagem por andrethomazi »

Mudei de função e após algumas adaptações na nova função, tudo OK.
Responder