Página 1 de 1

Dúvida sobre o operador "alias"

Enviado: 12 Jan 2017 21:38
por ClickOk
Olá amigos

Tenho que analisar um código em Clipper, e por enquanto está tudo bem. Mas tenho uma dúvida cruel. É sobre o operador Alias "->".

Eu entendo que posso acessar campos da tabela atual, mas ou menos assim:

Código: Selecionar todos

Cliente->Nome
No entanto, em algumas a áreas do código, aparecem trechos como

Código: Selecionar todos

Cliente->NomeInv
ou

Código: Selecionar todos

Client->LocalInv
Bem, isso não faz nenhum sentido pra mim, esses campos nem existem nessa tabela, na verdade, nem mesmo em outras tabelas!... mas o código funciona, e eu nem sei de onde vêm esses valores!

Alguem pode me dar uma luz? Li sobre esse operador neste link: http://www.ousob.com/ng/clguide/ngcf412.php, mas confesso que não cheguei a conclusão nenhuma...

Agradeço antecipadamente!

Dúvida sobre o operador "alias"

Enviado: 12 Jan 2017 21:45
por JoséQuintas
Ou olhou por um ângulo errado.

ALIAS não é nome de arquivo, é área de trabalho.
Ele é atribuído no comando USE.
procure aonde abre o arquivo com esse ALIAS.

Código: Selecionar todos

USE MINHOCA ALIAS client
? client->Codigo

Se não existir.... aí pode ser um problema criado por muitos programadores, que costumam esconder erros.
O erro acontece, mas a rotina de erros esconde o erro.

Código: Selecionar todos

BEGIN SEQUENCE
...
END SEQUENCE
Em último caso, acompanhe linha a linha pelo debug.
]

Dúvida sobre o operador "alias"

Enviado: 13 Jan 2017 14:44
por ClickOk
Oi amigos

Resolvi o problema, vim compartilhar a solução.

Fiz uma pequena rotina para checar todos os campos do workspace atual e seus valores. Então comparei com o a tabela e vi que outros valores de campos eram diferentes. (Estou trabalhando remotamente no PC do cliente, então checar certas coisas são difíceis de ter acesso).

Daí fiquei mais seguro do operador alias por causa da reposta do José Quintas... Faz um bom tempo que não mexo no Clipper, achei que era alguma "feature" do alias que eu não conhecia (por exemplo, dá até pra executar funções, como Cliente->Editar)

Mas com as diferenças nos nomes dos campos e valores, avisei para o cliente que ele deveria conferir se tinha outros dbfs em outras pastas do pc e bingo... o sistema estava acessando um banco de testes, com dados bem parecidos mas desatualizados...

É isso. #ficaadica