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: 783
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 B7, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart, Python + FASTAPI , Android Kotlin
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20420
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 783
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 B7, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart, Python + FASTAPI , Android Kotlin
Responder