Compilação harbour
Enviado: 26 Mai 2011 12:49
Olá pessoal,
há pouco tempo passei a utilizar o harbour em meus projetos, fazendo a migração.
Com relação a Minigui, antes utilizada em conjunto com o xharbour, foi tranquilo.
Recentemente passei a testar a hbqt em face da promessa de multiplataforma.
Estou gostando do resultado, haja vista o controle total dos objetos criados.
Todavia, os testes indicam a utilização da switch w3, ou seja, nível de aviso 3.
Nesse contexto, tive problema de compilação.
Ao que parece, com o switch w3, embora referindo-se a aviso, a compilação não é executada.
Pela internet, ví que o procedimento abaixo encontra-se errado:
http://hmgforum.com/viewtopic.php?f=5&t=1756
procedure main()
local x:=''
if verdade
x:='teste'
endif
return
Devendo ser:
procedure main()
local x:=''
if verdade
x+='teste'
endif
return
Fazer o quê né...
Ontem (nem vou dizer a data), aconteceu o seguinte:
Prg1
procedure main()
local x
x:=functionprg2()
return
Prg2
function functionprg2()
return 'teste'
Deu erro de "ambiguous reference".
A mesma coisa acontece se eu declarar x como privante no primeiro prg e definir o seu valor no segundo.
Então, para processar a compilação, tive que passar o switch de aviso para 0, ou seja, w0.
Isso pode prejudicar o funcionamento do sistema em tempo de execução?
Desde já obrigado.
MarceloG
há pouco tempo passei a utilizar o harbour em meus projetos, fazendo a migração.
Com relação a Minigui, antes utilizada em conjunto com o xharbour, foi tranquilo.
Recentemente passei a testar a hbqt em face da promessa de multiplataforma.
Estou gostando do resultado, haja vista o controle total dos objetos criados.
Todavia, os testes indicam a utilização da switch w3, ou seja, nível de aviso 3.
Nesse contexto, tive problema de compilação.
Ao que parece, com o switch w3, embora referindo-se a aviso, a compilação não é executada.
Pela internet, ví que o procedimento abaixo encontra-se errado:
http://hmgforum.com/viewtopic.php?f=5&t=1756
procedure main()
local x:=''
if verdade
x:='teste'
endif
return
Devendo ser:
procedure main()
local x:=''
if verdade
x+='teste'
endif
return
Fazer o quê né...
Ontem (nem vou dizer a data), aconteceu o seguinte:
Prg1
procedure main()
local x
x:=functionprg2()
return
Prg2
function functionprg2()
return 'teste'
Deu erro de "ambiguous reference".
A mesma coisa acontece se eu declarar x como privante no primeiro prg e definir o seu valor no segundo.
Então, para processar a compilação, tive que passar o switch de aviso para 0, ou seja, w0.
Isso pode prejudicar o funcionamento do sistema em tempo de execução?
Desde já obrigado.
MarceloG