Se estivesse compilando com -w3 -es2 já teria descoberto o erro.
Considerando que o erro é aqui, só pode ser o valor de key
Static Function PesqInc( oBrowse, key )
//-------------------------------------
if (key >=97 .and. key <= 122)
key := key-32
end
considerando que isso vém daqui, só pode ser chamada da browsekey()
Static Function BrowseKey( oBrowse, key )
//---------------------------------------
DO CASE
CASE KEY = K_ESC
EndDialog()
CASE (KEY = K_ENTER)
oPesquiza:close()
Return .f.
otherwise
PesqInc( oBrowse, key )
ENDCASE
Return .T.
E considerando estes dois codeblocks... tudo indica o primeiro não passa parâmetro nenhum.
Se isso funcionava antes, eu não sei..... rs
@ 012,085 BROWSE oBrowse1 DATABASE SIZE 540,373 ;
...
ON CLICK {|o,key| BrowseKey() } ;
...
oBrowse1:bKeyDown := {|o,key| BrowseKey(o, key) }
A compilacão -w3 -es2 iria reclamar que declarou variáveis e não usou pra nada no codeblock.
É nessas horas que se vê a vantagem de usar -w3 -es2.