Oi Pessoal,
Acompanho o fórum já há algum tempo e sempre tenho solucionado os problemas pesquisando postagens anteriores, mas agora não estou tendo sucesso...
Não trabalho na área de programação de sistemas e os conhecimentos em clipper que obtive foram apenas para uso pessoal, tanto que até hoje a versão Summer era mais que suficiente. Aconteceu de um sistema que tenho foi crescendo, crescendo... e começou a dar erro Out of memory...
Verifiquei que qdo compilado sem algumas rotinas esse erro nao aparece. Deduzi que o EXE começou a ficar gde para uso em memória. Tentei criar orvelays, mas não obtive sucesso...
(o config e autoexec estão como os vários exemplos postados aqui no fórum. e acontece tanto no Win98 como no Win2K)
Conclusão: Resolvi migrar p/ o Clipper 5.3 e Blinker 6.0
Pesquisei muito aqui no fórum de como devia proceder e depois de alterações no prg, consegui compilar e linkar.
Ao executar o programa, apareceu o seguinte erro:
BASE/1082 Argument error: -
Ele é causado pela linha que está dentro de uma função criada por mim:
@ 0,Pcol say pMens + repl(" ", 80 - pCol - len(pMens))
O que há de errado com o sinal de subtração?
Com relação a esses Erros, existe algum local que eu possa consultá-los?
Espero poder contar com a ajuda de vcs.
Desde já agradeço qualquer ajuda. (Mesmo se for para sanar o erro na versão Summer)
Error BASE/1082 (migrando do Summer'87 para 5.3)
Moderador: Moderadores
Oi Vagner,
A função é esta:
Function Mensagem(ptipo, pmens, pcol)
Mas o erro continua...
Em outra rotina ele dá erro no sinal de "=" . Alterei para "==" e não adiantou. Segue tb a rotina:
Obrigado pela ajuda
Abraços
Paul
A função é esta:
Eu alterei a forma como a função recebe os dados para:Function Mensagem
pcol = 0
parameters ptipo, pmens, pcol
cor_local = setcolor()
if ptipo = 0 && cabecalho
set color to w/r
@ 0, pcol say pmens + repl(" ",80-pcol-len(pmens)) && LINHA DO ERRO
RelogioMenu()
endif
if ptipo > 0 && rodape
set color to w/r
@23, 0 say repl(" ",80)
@23,((80-len(pmens))/2) say pmens
endif
setcolor(cor_local)
@24, 0 say repl(" ",80)
return .t.
Function Mensagem(ptipo, pmens, pcol)
Mas o erro continua...
Em outra rotina ele dá erro no sinal de "=" . Alterei para "==" e não adiantou. Segue tb a rotina:
Acredito que seja a forma de programar que é um pouco diferente da versão summer, mas nestes casos eu não entendi o que está acontecendo...Function FBuscaBar && Barra de Busca
btexto = ""
blorder = 0
param blin, bcol1, bcol2, bkeybusca, btexto, blorder
if blorder = 1 && LINHA DO ERRO
btexto = alltrim(left(btexto,5))
chrseek = btexto
endif
llen = bcol2 - bcol1 + 1
btexto1 = "Buscar &bkeybusca: " + btexto
if len(btexto1) > llen - 2
btexto1 = left(btexto1, llen-2)
endif
*btexto2 = "_" + space(llen - len(btexto1) - 3)
btexto2 = "_"
cor_local = setcolor()
@ blin , bcol1 say repl("Ä",llen)
@ blin+1, bcol1+1 say btexto1
set color to w*/n
@ row(), col() say btexto2
setcolor(cor_local)
@ row(), col() say space(llen - len(btexto1) - 2)
if blorder # 0
go top
if blorder = 1
seek val(btexto)
else
seek btexto
endif
endif
RelogioMenu()
setcolor(cor_local)
return .t.
Obrigado pela ajuda
Abraços
Paul
so faltou como vc chama a funçao, o erro esta como vc chama a funçao
olhe.
exemplo:
mensagem(aki_numerico, aki_numerico, aki_caracter)
Function Mensagem
pcol = 0 // esta declaracao perde o valor para a linha de baixo
parameters ptipo, pmens, pcol
olhe.
exemplo:
mensagem(aki_numerico, aki_numerico, aki_caracter)
Function Mensagem
pcol = 0 // esta declaracao perde o valor para a linha de baixo
parameters ptipo, pmens, pcol
Daniel
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
- vagucs
- Membro Master

- Mensagens: 1480
- Registrado em: 10 Jul 2004 10:45
- Localização: Ipanema - MG
- Contato:
Código: Selecionar todos
Function Mensagem
pcol = 0
parameters ptipo, pmens, pcol <- Se não for passado nenhum parametro em PCOL ele assume o valor NIL
cor_local = setcolor()
if ptipo = 0 && cabecalho
Coloque aqui
if pcol=NIL
pcol=0
end if
set color to w/r
Oi Vagner e Daniel;
Vcs acertaram em cheio!!!
O problema é como eu atribuía os valores às variáveis.
Ao chamar algumas funçoes eu não repasso o conteúdo de todas as variáveis, pq estão atribuidas um valor a elas dentro da função, só que estava fazendo isso antes do comando Parameters.
Entendi que na versão 5.X, essa atribuição tem que ser depois de parameters.
Muito obrigado mesmo!
)
Abraços
Paul
Vcs acertaram em cheio!!!
O problema é como eu atribuía os valores às variáveis.
Ao chamar algumas funçoes eu não repasso o conteúdo de todas as variáveis, pq estão atribuidas um valor a elas dentro da função, só que estava fazendo isso antes do comando Parameters.
Entendi que na versão 5.X, essa atribuição tem que ser depois de parameters.
Muito obrigado mesmo!
Abraços
Paul

