por JoséQuintas » 31 Mar 2021 08:06
Sim MEMVAR é pra declarar variáveis PUBLIC e PRIVATE.
E m->variavel é justamente pra pegar valor de PUBLIC/PRIVATE.
Sempre pensei que m-> indicava qualquer tipo de variável, mas é só pra PUBLIC/PRIVATE.
Na compilação -w3 -es2 isso fica bem claro, porque m-> acaba sendo similar a declarar como memvar.
No caso de rotinas de LIB, por exemplo, colocar m-> em tudo que é variável pode ter resultados imprevisÃveis.
Aqui uso alias pra aquivos, e somente pra arquivos. arquivo->campo
Variáveis deixo sem nenhuma indicação, sempre declarando LOCAL ou MEMVAR pras exceções.
E declaração FIELDS não uso. A única exceção é na indexação: index on field->campo TAG tatu
Na indexação funciona usar arquivo->campo, mas isso deixa preso ao ALIAS, e nunca se sabe se poderemos usar alias diferente.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"https://github.com/JoseQuintas/