Fórum
Ver pergunta

Erro PlataformaPRIMAVERA.MDI.AbreFormMDI   

22 visualizações
1
0

Boa tarde,

Ao migrar de servidor um cliente V9 para windows server 2022 o vba deixou de funcionar. Se tentar abrir um form de utilizador o ERP vai abaixo.

Comentando a instrução PlataformaPRIMAVERA.MDI.AbreFormMDI frm_GestaoCombustivel deixa de crashar o ERP, mas preciso migrar esse VBA.

Já alguém teve esse stress? alguma sugestão?

Já tentei em alternativa usar o   oForm.Show , mas depois as janelas ficas sobrepostas, tornando inviável.

Preciso de alguma maneira o PlataformaPRIMAVERA.MDI.AbreFormMDI frm_GestaoCombustivel trabalhe.

Obrigado!

 

 

 

 

NÃO FUNCIONA

Public Function ShowForm_GestaoCombustivel()
‘PlataformaPRIMAVERA.MDI.AbreFormMDI frm_GestaoCombustivel
End Function

Faça login para poder traduzir
Integração
Geral
Marcado como spam
Criado há 2 meses e 2 semanas rosindobandeira
3 respostas
1
Resposta privada

 

Não é possível correr em modo debug, nao consigo aceder ao editor vba pq o Primavera vai abaixo.
Instalei dois patch por recomendação da Primavera e resolveu.
A recomendação:
"
Em relação ao cenário reportado, instale, por favor, os paths do VBA disponíveis em:
Recomendamos também instalar o patch VBA: https://www.microsoft.com/en-us/download/details.aspx?id=30247

Existe também a limitação na V9: 44125
Que quando o PRISDK sofre um incremento de versão, os controlos no VBA podem dar erro.
A única forma de contornar é duplicar os mesmos para que fiquem a funcionar. É duplicado o controlo usado do PRISDK (PriGrelha, PriF4, etc.), e apagado o anterior, sendo que o novo fica a funcionar, depois basta copiar o código para este novo form."

Faça login para poder traduzir
Marcado como spam
Criado há 2 meses e 1 semana rosindobandeira
    0
    Resposta privada

    Deixo aqui o código que uso para abrir um Windows Form (necessário se o cliente não tiver licenciamento PEX Advanced).

    É um CustomCode da Primavera que cria uma Macro Extensibilidade no v10 mas pode ser que sirva como base para v9.

    using Primavera.Extensibility.CustomCode;
    
    namespace Projecto1
    {
        public class PriCustomCode1 : CustomCode
        {
            public void Abrir_FormExemplo_WF()
            {
                FormExemplo_WF form = new FormExemplo_WF();
                form.ShowDialog();
                PSO.UI.AdicionaFormMDI(form);
            }
        }
    }

     

    Faça login para poder traduzir
    Marcado como spam
    Criado há 2 meses e 1 semana ricardogiro
    ricardogiro Responsiveness Member
      0
      Resposta privada

      Boa tarde,

      pode tentar usar o vbModal para prevenir sobreposição de janelas (até certo ponto).

      Public Sub AbrirForm()
          Load Form1
          Form1.Show vbModal
          Form.Repaint
      End Sub

       

      Quanto à causa do problema, pode ser uma das várias bibliotecas ou controlos ActiveX que tenham deixado de funcionar com a nova versão do Windows Server. Tive um problema muito semelhante quando migrámos um cliente do Win 7 pro 10 pois o controlo ActiveX DataGrid recusava-se a funcionar sem grandes pistas para qual seria o problema.

      Faça login para poder traduzir
      Marcado como spam
      Criado há 2 meses e 2 semanas ricardogiro
      ricardogiro Responsiveness Member
        Comentários
        @ricardogiro Obrigado pela ideia, tentei, mas infelizmente não resolveu, o Primavera bloqueia totalmente. Até um form simples somente com um botão tem o mesmo comportamento. Mais alguma sugestão?
        2 meses e 1 semana
        rosindobandeira
          Corra em modo debug e veja se está a bloquear algures no código do formulário. É bem provavel que o VBA não esteja sequer instalado no servidor; pode tentar ir buscar a versão mais recente à net e instalar.
          2 meses e 1 semana
          ricardogiro