Migração do Clipper 5.01 para 5.2

MIGRACAO CLIPPER 5.2

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

Baixe o arquivo anexo, migra52.zip.

 

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):

// Determine if DEBUGging is enabled
#ifdef DEBUG
CompOptions := /b /m /n
#else
CompOptions := /m /n
#end
.prg.obj:
clipper $< $(CompOptions) /USTD_BWN.ch
PRGs.obj : PRGs.obj
...

 

Com isso você dribla este problema de versão que o impedia de rodar o seu sistema em Clipper 5.2!!! Sorrindo à toa!
(Talvez ocorra alguns problemas na função que você desenvolveu com a classe TBROWSE, principalmente se você andou passando argumentos errados para ela ao longo do seu sistema...! DICA: Veja os exemplos da CA em \SOURCE\TBROW\ e reescreva sua função de acordo com eles se for o caso.)
AnexoTamanho
migra52.zip6.74 KB