Migrando da versão 16.1.8 para a versão 17.0.9
Uma das maiores preocupações ao implementar novas versões do MenuFlex é a de tornar o processo de migração para os desenvolvedores que estiverem usando a versão anterior do MenuFlex o mais simples possível. Abaixo seguem os detalhes do processo de migração.
Atenção
Os passos descritos aqui pressupõem que a versão atual é a 16.1.8 do MenuFlex. Se a versão atual for a 14.0.7 primeiro é necessário executar os passos de migração para a versão 16.1.8 conforme descrito no tópico “Migrando para a versão 16.1.8” para depois migrar para a versão 17.0.9.
Pré-requisitos
Para que a migração da versão 16.1.8 para a versão 17.0.9 ocorra sem problemas os seguintes pré-requisitos devem ser observados:
- O desenvolvedor não pode ter alterado nenhuma das tabelas que fazem parte do MenuFlex.
- O desenvolvedor não pode ter alterado nenhum pacote integrante do MenuFlex, incluindo os dicionários de dados das tabelas do MenuFlex, que serão substituídos pelos dicionários de dados da nova versão.
- A Workspace deve estar na mesma versão do VDF que a Library do MenuFlex que será usada. Portanto faça primeiro a migração da sua Workspace para a versão do VDF correta antes de continuar.
- A não observação dos pré-requisitos acima pode provocar problemas no processo de migração e o desenvolvedor terá de corrigi-los por conta própria.
Backup
Antes de iniciar o processo de migração na área de desenvolvimento é recomendado fazer um backup de todas as Workspaces e Libraries que serão migradas.
Antes de iniciar o processo de atualização na área de produção é recomendado fazer um backup da base de dados e dos programas compilados.
Migração passo-a-passo
Removendo a Library antiga e acrecentando a Library nova
Primeiramente é necessário remover a Library da versão 16.1.8 e acrecentar a Library da versão 17.0.9 de acordo com os seguites passos:
- Acessar “Tools > Maintain Libraries”;
- Remover a Library do MenuFlex “antiga”;
- Acrecentar a Library da versão 17.0.9 localizando o arquivo .SWS da nova versão.
Executando o programa de atualização
A Library do MenuFlex possui um projeto criado especialmente para atualizar a estrutura das tabelas do MenuFlex 16.1.8 para a versão 17.0.9. Para executar este programa nenhuma tabela pode estar aberta, pois o programa abrirá as tabelas em modo exclusivo. É necessário executar este programa na área de desenvolvimento e na área de produção.
Adicionar o projeto na Workspace clicando em “Project > Add Project” e localizar o arquivo AtualizaTabelas17_0_9.src que está no diretório MenuFlexLibraryAppSrcMenuFlex_Library_ProjetosAtualizacao. Não é necessário copiar este arquivo para o diretório AppSrc da Workspace.
Atenção: Este processo pode demorar bastante se a quantidade de registros nas tabelas que serão reestruturadas for muito grande. Recomenda-se que a execução do programa de atualização seja feita na máquina onde está a base de dados e não em uma máquina qualquer na rede.
Atualizando os arquivos FD
Após executar o programa de atualização abrir o Database Builder e gerar os arquivos .FD de todas as tabelas da workspace.
Copiando os dicionários de dados
Uma vez que as tabelas já estão atualizadas, a próxima etapa é copiar os arquivos .DD. A partir do diretório DDSrc da NovaWorkspace, copiar todos os arquivos .DD para o diretório DDSrc da Workspace.
Após copiar os arquivos, executar a opção “Tools > Data Dictionary Maintenance > Rebuild DD List…” para reconstruir a lista de DD’s e adicionar o DD’s das novas tabelas do MenuFlex automaticamente.
Acrescentando arquivos de imagem no executável
A partir do menu principal do Studio escolher a opção “Project > Project Properties”, pressionar então o botão “Scan for images”, escolher “Sim” e aguardar o Studio fazer a varredura nos arquivos para criar a lista de ícones e bitmaps usados no projeto.
Copiando arquivos de imagem
Devido a uma limitação da classe cCJGrid (original do VDF e não do MenuFlex), algumas imagens não são exibidas se forem adicionadas no .exe. Por isso é necessário copiar essas imagens para o ambiente de desenvolvimento e de produção. As imagens a serem copiadas são:
- MensagemLida.bmp
- MensagemNaoLida.bmp
Incluindo nova View na ClientArea
Uma nova View foi criada nesta versão do MenuFlex, e por isso é necessário adicioná-la na ClientArea da sua aplicação:
Use MenuFlex_Library_ViewsTabelaID.vw
Cadastrando a nova tela no menu
Após a execução dos passos acima a Workspace estará pronta para ser compilada e testada com a nova versão do MenuFlex.
A última etapa necessária para completar a migração é cadastrar a nova tela que foi criada. Na imagem abaixo vemos destacada a nova opção adicionada no MenuFlex 16.1.8:

A seguir estão as informações necessárias para cadastrar este item. Basta cadastrá-lo na posição que achar mais conveniente para a aplicação.
A primeira coluna mostra o campo código, que será gerado automaticamente no momento da gravação. A segunda coluna é o código do módulo, que pode ser 0 (zero) se for desejado que a opção apareça em todos os módulos. A quarta coluna é o nome de exibição. A quinta coluna deve ser deixada em branco. A sexta e a sétima coluna devem ser preenchidas com “VW” e a última coluna é o nome de ativação do objeto.
Identificadores de registros:
![]()
