Fórum
Ver pergunta

Custom Form VB aparece vazia   

13 visualizações
1
0

Estou a migrar um projeto da V9 para a V10 em VB.NET.
Na form de Vendas de cliente ao premir a telas F3 carrega uma “Custom Form”
A Custum Form já está criada com o mome “FDU_ImportaPref”.
Estou a usar o codigo em baixo para chamar a form, mas esta aparece pequena e vazia.

O “mesmo” código em c# funciona bem. Só não migro tudo para c# porque não percebo… 🙁

Using FDU = BSO.Extensibility.CreateCustomFormInstance(GetType(FDU_ImportaPref))
TryCast(FDU.Result, FDU_ImportaPref).ShowDialog()
End Using

 

Faça login para poder traduzir
V10
Marcado como spam
Criado há 2 meses e 2 semanas renatolopes
r
renatolopes Iniciante
Comentários
Se adicionar esta "custom form" no "meu menu" o resultado é exatamente o mesmo.
2 meses e 2 semanas
renatolopes
    2 respostas
    0
    Resposta privada

    Não encontrei nada na documentação que especifique que os forms têm de ser abertos ou tratados de maneira diferente entre VB.NET e C#, mas de facto tenho exactamente os mesmos sintomas que tu. Adicionei quaisquer referências que fizessem sentido e nunca consegui que funcionasse. Só quando abri como WindowsForm e não com o form do Primavera é que abriu normalmente, por isso parece ser um problema com a interacção dos controlos com VB.NET e o Primavera.
    Podes fazer um pedido de suporte directo ao Primavera pelo Partner Space (se tiveres acesso).. Ou aprender C#. Aconselho usar o ChatGPT para ir convertendo código e tirar dúvidas ao mesmo tempo, é uma boa ferramenta de aprendizagem.

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

      Olá Renato,

      pode haver aqui algumas coisas. Em primeiro lugar, sempre que converti código da v9 pra v10 tive de recriar todos os forms. Os controlos ActiveX do VBA não são o mesmo que os de WinForms do .NET. Mas disseste que "em C# funciona bem", podes explicar o que fizeste de diferente? Os controlos aparecem no form no teu projecto no Visual Studio?

      Outra coisa muito importante a ter em conta é que como developer provavelmente tens acesso à licença PEX Advanced que te permite usar os Custom Forms e afins do Primavera. Se o teu cliente não tiver essa licença e tiver apenas a licença "normal" (acho que se chama PEX Compatibility), vais ter uma surpresa desagradável pois o form não vai abrir do lado dele. Para isso precisas de usar um Windows Form normal, e se for o caso, posso dar-te uma ajuda com isso (tem uma forma diferente de abrir).

      Ah e se percebes VB.NET, o salto pra C# é mais pequeno do que pensas!!

      Faça login para poder traduzir
      Marcado como spam
      Criado há 2 meses e 1 semana ricardogiro
      ricardogiro Responsiveness Member
        Comentários
        Boas, Claro que quando falo em "migrar", na realidade estou a fazer tudo de novo. Basicamente é "copiar" linha a linha e fazer as modificações necessárias. Sim, foi necessário criada a form toda de novo com o "Custom form". O precesso foi exatamente o mesmo entre o VB e o C#. Com o c#... pumba à primeira a funcionar. Com o VB a form fica "vazia" como na imagem. Tudo isto ainda está na maquina de desenvolvimento. PS: fiz uma tentativa com o c#, mas como encravei logo nas primeiras linhas... desisiti! Obrigado pela ajuda
        2 meses e 1 semana
        renatolopes
          Vou tentar criar um projecto em VB.NET com um form e uns controlos a ver se consigo abrir
          2 meses e 1 semana
          ricardogiro
            De facto não aparecem os controlos. Vou procurar um pouco pelo FAQ a ver o que encontro
            2 meses e 1 semana
            ricardogiro