Amiguinhos
As rotinas de voces ou funções estão corretas o que não esta correto é o procedimento.
Como se proceder para criar indices:
1 - Reindex caiu em desuso pelo fato de poder gerar indices balofos.
2 - Voces
devem sempre usar dbCloseAll()
3 - A indexação é um processo exclusivo e portanto só pode ser feito em tabelas abertas por um
unico usuário.
Para testar se um arquivo esta aberto em outra estação voce podem usar esta função:
Código: Selecionar todos
FUNCTION dblocked( dbf )
ldbf := FOPEN( dbf, 1 )
IF FERROR() <> 0
RETURN .t.
ENDIF
FCLOSE(ldbf)
RETURN .f.
Passe como parametro o nome do arquivo, não serve
alias pois a tentativa de abertura se dará no arquivo fisico.
Código: Selecionar todos
...
if dbLocked( "CLIENTES.DBF" )
? "Arquivo travado em algum lugar"
else
USE clientes EXCLUSIVE
E ai SygeCOM encontrou a Shirley(SYDA), hehehe!, eu me equivoquei pois o nome de usuário dela vem antes do seu e eu cliquei no link
www do seu perfil.