xHARBOUR NAO PASSA MATRIZ NA FUNCAO?

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

xHARBOUR NAO PASSA MATRIZ NA FUNCAO?

Mensagem por rubens »

Olá pessoal...
Seguinte, tô sofrendo aqui para compilar meu programa com o harbour.. já fiz vários testes e tá aparecendo uns erros...
por exemplo no programa compilado com o clipper tenho uma funcao de abertura de arquivos na qual passo a seguinte sintax e funciona: VERIF_ARQ( Param, aArq ) onde aArq é uma matriz, no exemplo tá indo 34 arquivos, e funciona beleza...
No xHarbour na passa o parametro... dou um comando VALTYPE(aARQ) e retorna "U". Alguem sabe se tem outra forma de fazer?
A Subntx e a Nanfor52 não rodam no xHarbour?? alguem tem elas compiladas para o xHarbour???

Vlw..
:xau
"Eu e minha casa servimos ao Senhor e você ???"
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Olá amigo,

Isso que você mencionou é possível sim no xHarbour, se for de seu interesse coloque aqui para nós um trecho pequeno da rotina em que possamos avaliar a matriz antes e depois de entrar na função.

Quanto as LIBs não sei informar.


Falou e boa sorte!
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Mensagem por rubens »

Fiz uns testes e descobri o seguinte... se a função para a qual está sendo enviado o paramentro estiver dentro do mesmo prg.. funciona.. se estiver em outro prg passa um valor nul. Deu erro tb.. em algumas variaveis que uso no sistema global, tido para pegar a data do caixa e o nivel do usuario, em alguns prg que são chamados a partir deste tb. nao são reconhecidas...
Muito estranho tb foi o fato de que compilo com o hbmake não retorna nenhum erro.. Daí vai executar o programa e ele pula para dentro de uma funcao que nao foi chamada.. por exemplo executo o programa e da um erro lá no prg bancos.prg que nao foi chamado.. tem que ir no menu e chamar a funcao bancos.prg para ser executada e aqui nao, tá indo direto na execução do prg principal, onde deveria ser chamado os menus e ai sim chamar a funcao bancos...
Vou fazer mais uns testes e posto os resultados..
- Quando compilo com o clipper tudo roda belezinha... estava pensando que talvez tivesse algo a ver com a tipagem das variaveis...
"Eu e minha casa servimos ao Senhor e você ???"
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Olá Rubens,

rubens escreveu: se a função para a qual está sendo enviado o paramentro estiver dentro do mesmo prg.. funciona.. se estiver em outro prg passa um valor nul. Deu erro tb.. em algumas variaveis que uso no sistema global, tido para pegar a data do caixa e o nivel do usuario, em alguns prg que são chamados a partir deste tb. nao são reconhecidas...
Isso ocorre porque no xHarbour variáveis criadas sem declaração explícita são assumidas como privadas, e vistas apens pelo prg que as criou, diferentemento do Clipper onde eram públicas e comum a todo programa.

Para corrigir inicie ela com PUBLIC VAR := {}.
rubens escreveu:Muito estranho tb foi o fato de que compilo com o hbmake não retorna nenhum erro.. Daí vai executar o programa e ele pula para dentro de uma funcao que nao foi chamada.. por exemplo executo o programa e da um erro lá no prg bancos.prg que nao foi chamado.. tem que ir no menu e chamar a funcao bancos.prg para ser executada e aqui nao, tá indo direto na execução do prg principal, onde deveria ser chamado os menus e ai sim chamar a funcao bancos...
Neste caso procure averiguar se você está iniciando todos os seus PRG com Procedure NomeDoPrg() ou Funcion NomeDoPRG(). Além disso tenha ceretza de que sibstituiu todas chamadas DO PRG por PRG(). O problema pode estar aí.
rubens escreveu: Vou fazer mais uns testes e posto os resultados..
- Quando compilo com o clipper tudo roda belezinha... estava pensando que talvez tivesse algo a ver com a tipagem das variaveis...
Exatamente.


Ok, qualquer duvida, estamos aí no que pudermos ajudar.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Responder