Warning W0001 Ambiguous reference

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

Moderador: Moderadores

Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Warning W0001 Ambiguous reference

Mensagem por Fernando queiroz »

não estou conseguindo resolver esse problema, durante a compilação dá essa advertência e o aplicativo é criado mas nao carrega quando executa, mesmo
mudando de -w3 para -w0 ou até mesmo removendo

Código: Selecionar todos

C:\SGCWIN>hbmk2 SGC.HBP
uic 5.4.0
Harbour 3.2.0dev (r1410211457)
Copyright (c) 1999-2014, http://harbour-project.org/
Compiling 'SGCWIN.PRG'...
Lines 530, Functions/Procedures 1
Generating C source output to 'C:\Users\FERNANDO\AppData\Loc
dir\SGCWIN.c'... Done.
Compiling 'SGCARQ.PRG'...
SGCARQ.PRG(62) Warning W0001  Ambiguous reference 'DATCAI'
SGCARQ.PRG(62) Warning W0001  Ambiguous reference 'TURCAI'
o fonte onde o erro ocorre é:

Código: Selecionar todos

FUNCTION ABRE_CAIXA
**********************************
LOCAL ARQCAI, BANCO:= {}

IF LEN(M->CAIXA_) > 0
   ARQCAI:="DATABASE\CAIXA"+M->CAIXA_
ELSE
   ARQCAI:="DATABASE\CAIXA"
END
IF FILE(ARQCAI+".DBF")
  USE (ARQCAI) NEW SHARED ALIAS CAIXA
ELSE
  
  AADD(BANCO, {"DATCAI","D",08,0})       &&
  AADD(BANCO, {"TURCAI","N",02,0})       && CHAVE DO ARQUIVO
  AADD(BANCO, {"VALINI","N",14,2})
  AADD(BANCO, {"DINHEI","N",14,2})
  AADD(BANCO, {"CHEQUE","N",14,2})
  AADD(BANCO, {"PREDAT","N",14,2})
  AADD(BANCO, {"CARTAO","N",14,2})  
  AADD(BANCO, {"CONVEN","N",14,2})  
  AADD(BANCO, {"FATURA","N",14,2})  
  AADD(BANCO, {"VENCIDO","N",14,2})  
  AADD(BANCO, {"TELEVEN","N",14,2})  
  AADD(BANCO, {"DINHEI_FI","N",14,2})
  AADD(BANCO, {"CHEQUE_FI","N",14,2})
  AADD(BANCO, {"PREDAT_FI","N",14,2})
  AADD(BANCO, {"CARTAO_FI","N",14,2})  
  AADD(BANCO, {"CONVEN_FI","N",14,2})  
  AADD(BANCO, {"FATURA_FI","N",14,2})
  AADD(BANCO, {"DESCON_FI","N",14,2})    
  AADD(BANCO, {"CONS_INT","N",14,2})  
  AADD(BANCO, {"TRANS_FIL","N",14,2})  
  AADD(BANCO, {"DEVPRO","N",14,2})  
  AADD(BANCO, {"RECDIV","N",14,2})  
  AADD(BANCO, {"PAGDIV","N",14,2})  
  AADD(BANCO, {"DESCON","N",14,2})  
  AADD(BANCO, {"STACAI","L",01,0})
  AADD(BANCO, {"TOTCUS","N",14,2})
  AADD(BANCO, {"TOTLUC","N",14,2})
  AADD(BANCO, {"REIMPR","N",03,0})    && REIMPRESSOES NO DIA
  AADD(BANCO, {"ORCAME","N",03,0})    && ORCAMENTOS FEITOS NO DIA
  AADD(BANCO, {"CANCEL","N",03,0})    && CANCELAMENTOS FEITOS NO DIA
  AADD(BANCO, {"VENDAS","N",05,0})    && VENDAS FEITAS NO DIA

  DBCREATE((ARQCAI),BANCO)
  USE (ARQCAI) NEW SHARED ALIAS CAIXA 
END
IF NETERR()
   ALERT( "Acesso mal sucedido ao arquivo CAIXA")
   RETURN .F.
END
IF FILE((ARQCAI)+".001")
  SET INDEX TO ((ARQCAI)+".001")
ELSE
  USE (ARQCAI) EXCLUSIVE
  IF NETERR()
      ALERT( "Acesso mal sucedido ao arquivo CAIXA" )
      RETURN .F.
  END
  PACK
  index on DTOS(DATCAI)+STRZERO(TURCAI,2,0) to (ARQCAI)+".001"    //   ******linha onde o erro ocorre******
  DBCLOSEAREA()
  USE (ARQCAI) NEW SHARED ALIAS CAIXA 
  IF NETERR()
     ALERT( "Acesso mal sucedido ao arquivo CAIXA" )
     RETURN .F.
  END
  SET INDEX TO ((ARQCAI)+".001")
END     

RETURN .T.
o erro esta nesta linha 00062 index on DTOS(DATCAI)+STRZERO(TURCAI,2,0) to (ARQCAI)+".001"
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Warning W0001 Ambiguous reference

Mensagem por JoséQuintas »

Algumas opções:

1) Use o alias, se for sempre o mesmo

Código: Selecionar todos

use caixa
index on dtos( caixa->campo ) TO indice
2) Use o indicador "genérico" de campo de arquivo (field)

Código: Selecionar todos

use caixa
index on Dtos( field->Campo ) TO indice
3) Declare no início do fonte, fora das procedures/functions, se usar em mais de uma procedure/function dentro do mesmo fonte.

Código: Selecionar todos

FIELDS campo1, campo2, campo3
4) Declare dentro da procedure/function

Código: Selecionar todos

FIELDS campo1, campo2, campo3
5) Desative "tolerância zero"
-w0
-es0
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Warning W0001 Ambiguous reference

Mensagem por Fernando queiroz »

Obrigado Quintas , era isso mesmo, fiz as mudanças e passou certinho
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Responder