Pessoal,
Alguém saberia o que quer dizer aviso abaixo e como corrigir no meu sistema.
Warning W8066 obj_bcc\hbCTe_HWgui.c 91117: Unreachable code in function hb_INITSTATICS
Estou usando harbour 3.2( bem atual) e BCC7.2( 32 bits )
Warning compilando com Harbour+Bcc72
Moderador: Moderadores
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Warning compilando com Harbour+Bcc72
De forma geral, 'Unreachable code' indica código que nunca será executado. Por exemplo: uma função, em C, tem um return e após o return, tem 1 ou mais linhas de código. Visto que a execução da função termina no return, o código que vem depois nunca será executado.
No momento, não sei dizer o motivo do BCC gerar este aviso. Mas como é um aviso e não um erro, não deverá afetar seu sistema.
Se quiser, pode silenciar o aviso com a linha abaixo no .hbp:
Não testei a sintaxe, mas acredito que está correta. Avise se não funcionar.
No momento, não sei dizer o motivo do BCC gerar este aviso. Mas como é um aviso e não um erro, não deverá afetar seu sistema.
Se quiser, pode silenciar o aviso com a linha abaixo no .hbp:
Código: Selecionar todos
{bcc}-cflag=-w-8066Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
-
marcosgambeta
- Usuário Nível 3

- Mensagens: 332
- Registrado em: 16 Jun 2005 22:53
Warning compilando com Harbour+Bcc72
O Harbour também identifica situações de 'Unreachable code' em código xBase, conforme exemplo abaixo:
No caso deste aviso, ele aparece quando o .prg está sendo processado pelo Harbour.
No caso apresentado pelo Leonardo, o aviso está vindo do compilador C (BCC). Então, já não é uma questão de corrigir código xBase.
Código: Selecionar todos
FUNCTION main()
? func1()
RETURN NIL
STATIC FUNCTION func1()
? "codigo que sera executado"
RETURN 1
? "codigo que nunca será executado" // test1.prg(13) Warning W0028 Unreachable code
RETURN 2
No caso apresentado pelo Leonardo, o aviso está vindo do compilador C (BCC). Então, já não é uma questão de corrigir código xBase.
Atenciosamente,
Marcos Antonio Gambeta
Marcos Antonio Gambeta
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Warning compilando com Harbour+Bcc72
Deu certo mestre, obrigado por mais uma dica.marcosgambeta escreveu:De forma geral, 'Unreachable code' indica código que nunca será executado. Por exemplo: uma função, em C, tem um return e após o return, tem 1 ou mais linhas de código. Visto que a execução da função termina no return, o código que vem depois nunca será executado.
No momento, não sei dizer o motivo do BCC gerar este aviso. Mas como é um aviso e não um erro, não deverá afetar seu sistema.
Se quiser, pode silenciar o aviso com a linha abaixo no .hbp:
Não testei a sintaxe, mas acredito que está correta. Avise se não funcionar.Código: Selecionar todos
{bcc}-cflag=-w-8066
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Warning compilando com Harbour+Bcc72
Pelo menos achei mesmo uma condição que causava isso de ter um RETURN e o código continuar, mais ou menos isso abaixo, ele se perde no .C quando tem um TRY, mudei isso para preencher uma variável e ver o resultado dela e sumiu o erro.
Código: Selecionar todos
TRY
IF aRET['cStat']<>'217'
ENDIF
CATCH
::oCTe_GERAIS:uiAviso('Esta CT-e não pode ser excluída '+HB_OsNewLine()+;
'Não há resposta do SEFAZ')
RETURN(.F.)
END
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql