| ♥ 0 | Hola. Tengo un problema un problema con el VBA de primavera 9: Me encuentro con el problema de que una dll que tiene referencias de las interop de Primavera y los Devexpress compilada y funcionando en mi sistema, en cuanto me la llevo al cliente no me deja grabar el vba. Los pasos que hago son:
Marcado como spam |
| Resposta privada Olá Agustin, Uma das coisas que podes fazer e resolve o problema é retirares as referências no VBA e instanciares a DLL por CreateObject. Desta forma não vais ter problemas ao gravar. Por exemplo, eu criei esta DLL em C# com referência aos motores do ERP (anexo V9Extensibility.jpg): using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace V9Extensibility1
{
public class Class1
{
Interop.ErpBS900.ErpBS _motor;
public void Inicializa(Interop.ErpBS900.ErpBS motor)
{
_motor = motor;
}
public void SayHelloWorld()
{
System.Windows.Forms.MessageBox.Show("Hello World");
}
}
}
No VBA, quando estou em debug, coloco a referência da DLL e uso normalmente. Quando transporto a DLL para o cliente para a colocar m produtivo, no VBA retiro a referência e troco a instanciação por CreateObject. Private Sub SayHelloWorld()
'Debugging
'Dim obj As V9Extensibility1.Class1
'Produtivo
Dim obj As Object
On Error GoTo erro
'Debugging
'Set obj = New V9Extensibility1.Class1
'Produtivo
Set obj = CreateObject("V9Extensibility1.Class1")
obj.Inicializa BSO
obj.SayHelloWorld
erro:
If Len(Err.Description) > 0 Then
MsgBox Err.Description
End If
Set obj = Nothing
End Sub
Marcado como spam | |
| Resposta privada No. Si guardo el VBA sin referenciar la dll el VBA se guarda correctamente Marcado como spam |
Olá Agustin se não incluir essa Dll também dá esse erro?