MIGRAÇÃO CLIPPER 5.1 P/ 5.2
![]() |
Magno
Problema: "DBCMD/1011 Alias already in use" |
É, amigo. Na versão anterior não havia isso... você abria o mesmo arquivo em vários momentos do seu sistema e isso nunca aconteceu... e agora? Teremos que verificar se o arquivo já está aberto toda vez que for abrir um arquivo??? Substituir por uma função??? De qualquer forma, ter que alterar todo o sistema será muito trabalhoso... e é por isso que você está lendo isso! Você quer outra solução, uma saída elegante e profissional para este caso... E VOCÊ TERÁ!!!
Sabemos que todo comando em Clipper é transformado em uma função (Nossa sorte! USE é um comando); Todos os comandos do Clipper estão no arquivo de cabeçalho \include\STD.ch.
Calma! Não é só isso! As alterações que você fizer no arquivo STD.ch não serão consideradas pelo Clipper...! (hã?!)
O QUE PRECISAMOS
FAZER
Precisamos fazer uma cópia do arquivo STD.ch para outro arquivo, STD_BWN.ch, por exemplo.
Agora busque a palavra DBUSE dentro do arquivo STD_BWN.ch; na linha que traduz o comando USE para a função DBUSEAREA, troque o nome DBUSEAREA para o nome de nossa função: BWNUSE. Salve o arquivo (Veja o arquivo STD_BWN.ch dentro do Migra52.zip baixado)
Compile o arquivo USEFILE.prg e o insira na sua biblioteca de funções (preferivelmente) ou linkedite o objeto deste arquivo no seu sistema. Neste arquivo está minha função para abrir os arquivos sem problema algum. O arquivo USEFILE.prg está incluido no arquivo Migra52.zip.
Ao compilar os programas do sistema insira o parâmetro /U com o nome do novo arquivo de cabeçalho que o Clipper irá usar, STD_BWN.ch. Exemplo:
Clipper <programa> /USTD_bwn.ch
Ou no seu arquivo do Rmake (.rmk):