Fórum
Ver pergunta

Como ter acesso à utilização do motor num System.Forms em PEX   

78 visualizações
Categoria::
0
0

Bom dia, preciso de ter acesso ao motor (BSO, PSO, etc) Primavera num Form que não é CustomForm. Qual a melhor forma de o fazer? Todas as que tentei cai o erro de : Object reference is not instanced. Com este problema não consigo utilizar vários forms em simultâneo, …

Obrigado

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 5 anos e 1 mês brunogomes
brunogomes Responsiveness Member
1 respostas
0
Resposta privada

Boa tarde, ultrapassei essa situaçao da seguinte forma:

1. em todas as referencias (…)100.dll -> propriedades -> copiar localmente = false

2. no teu main:

public Main()
{
InitializeComponent();
(…)
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
}

3. no teu codigo juntar:

private static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
string assemblyFullName;
System.Reflection.AssemblyName assemblyName;
string PRIMAVERA_FOLDER;
string PATH;

PRIMAVERA_FOLDER = “PRIMAVERASG100Apl”;
PATH = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86);

assemblyName = new System.Reflection.AssemblyName(args.Name);
assemblyFullName = System.IO.Path.Combine(System.IO.Path.Combine(PATH, PRIMAVERA_FOLDER), assemblyName.Name + “.dll”);

if (System.IO.File.Exists(assemblyFullName))
return System.Reflection.Assembly.LoadFile(assemblyFullName);
else
return null;
}

4. utilizar a funçao do exemplo:

PriEngine.CreatContext(“empresa”, “user”, “pass”, StdBE100.StdBETipos.EnumTipoPlataforma.tpEmpresarial);

 

se fizeres estes 4 passos deves conseguir

Boa sorte, cumprimentos

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 1 mês ivoferreira
i
ivoferreira Iniciante
    Comentários

    Antes de mais muito obrigado, mas desta forma obriga-me a colocar credenciais e abrir a empresa… existe forma de contornar?

    5 anos e 1 mês
    brunogomes