Hallo zusammen,
ich schreibe einen SoapClient in VB.NET und binde die TLB dann als Verweis in Access ein. Wenn ich das Objekt in VBA erzeuge, wird auch alle korrekt von Access "vorgegeben", die Methode getXML wird angezeigt.
Wenn ich das Ganze laufen lassen, bekomme ich aber einen Laufzeitfehler, der leider nicht definiert zu sein scheint (-2146233079 (80131509): Automatisierungsfehler). Die Zeile, die den Fehler auslöst, ist "Set soapC = New SoapLibrary.soapClient".
Quellcode VBA:
--------------------------------------------------------
Option Compare Database
Dim soapC As SoapLibrary.soapClient
Private Sub Class_Initialize()
Set soapC = New SoapLibrary.soapClient
Dim xml As String
xml = soapC.getXML
End Sub
--------------------------------------------------------
Quellcode VB.NET:
--------------------------------------------------------
Option Explicit On
Option Strict On
Option Compare Binary
Imports System.Runtime.InteropServices
<ComVisible(True)>
<ComClass(soapClient.ClassId, soapClient.InterfaceId, soapClient.EventsId)> Public Class soapClient
Public Const ClassId As String = "xxxxxxxxxxxxxxxx"
Public Const InterfaceId As String = "xxxxxxxxxxxxxxxx"
Public Const EventsId As String = "xxxxxxxxxxxxxxxx"
Private sc As soap.x3PortTypeClient
Public Sub New()
sc = New soap.x3PortTypeClient
End Sub
Public Function getXML() As String
Dim xml As String
xml = sc.getSomeXML()
Return xml
End Function
End Class
--------------------------------------------------------
Das Ganze wird dann so registriert und die tlb erstellt:
c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe SoapLibrary.dll /tlb:SoapLibrary.tlb /codebase SoapLibrary.dll
Bin für jeden Hilfe dankbar, ich komme nämlich gerade überhaupt nicht weiter.
ich schreibe einen SoapClient in VB.NET und binde die TLB dann als Verweis in Access ein. Wenn ich das Objekt in VBA erzeuge, wird auch alle korrekt von Access "vorgegeben", die Methode getXML wird angezeigt.
Wenn ich das Ganze laufen lassen, bekomme ich aber einen Laufzeitfehler, der leider nicht definiert zu sein scheint (-2146233079 (80131509): Automatisierungsfehler). Die Zeile, die den Fehler auslöst, ist "Set soapC = New SoapLibrary.soapClient".
Quellcode VBA:
--------------------------------------------------------
Option Compare Database
Dim soapC As SoapLibrary.soapClient
Private Sub Class_Initialize()
Set soapC = New SoapLibrary.soapClient
Dim xml As String
xml = soapC.getXML
End Sub
--------------------------------------------------------
Quellcode VB.NET:
--------------------------------------------------------
Option Explicit On
Option Strict On
Option Compare Binary
Imports System.Runtime.InteropServices
<ComVisible(True)>
<ComClass(soapClient.ClassId, soapClient.InterfaceId, soapClient.EventsId)> Public Class soapClient
Public Const ClassId As String = "xxxxxxxxxxxxxxxx"
Public Const InterfaceId As String = "xxxxxxxxxxxxxxxx"
Public Const EventsId As String = "xxxxxxxxxxxxxxxx"
Private sc As soap.x3PortTypeClient
Public Sub New()
sc = New soap.x3PortTypeClient
End Sub
Public Function getXML() As String
Dim xml As String
xml = sc.getSomeXML()
Return xml
End Function
End Class
--------------------------------------------------------
Das Ganze wird dann so registriert und die tlb erstellt:
c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe SoapLibrary.dll /tlb:SoapLibrary.tlb /codebase SoapLibrary.dll
Bin für jeden Hilfe dankbar, ich komme nämlich gerade überhaupt nicht weiter.