♥ 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?