Guten Tag Community
Ich hab von meinen Kunden eine Tlb-Datei bekommen (mehr eben nicht), die ich nun in einer Net-Anwendung dynamisch einbinden soll.
Ich hab schon gesucht und auch probiert. Nun gefunden habe ich viel, nur funktionieren tut es nicht. Aus diesem Grunde habe ich mir jetzt eine eigene tlb-Datei erstellt die folgendermassen aussieht. Hab Sie Com-tauglich gemacht und registriert und nachher in Excel getestet und sie funktioniert einwandfrei.
[highlight=vbnet]
Option Explicit On
Option Strict On
Imports System.Runtime.InteropServices
Public Class cIntFunction
Public Function CreateIntArray() As Integer(,)
Dim intArray(,) As Integer
Dim rnd As New Random
ReDim intArray(9, 9)
CreateIntArray = Nothing
For i As Integer = 0 To 9
For j As Integer = 0 To 9
intArray(i, j) = rnd.Next(10, 100) '10 - 99
Next
Next
Return intArray
End Function
Public Function XHochY(ByVal intX As Integer, ByVal intY As Integer) As Integer
Return CInt(intX ^ intY)
End Function
Public Function sGetAnswer() As String
Return "Hallo from .Net Com"
End Function
Public Sub New()
MyBase.New()
End Sub
End Class
[/highlight]
Nun wollte ich die frisch erstellte tlb in einer Net-Anwendung importieren. Dies habe ich mit einer DllImport-Anweisung schon versucht, funktioniert aber nicht. Unter Verweise kann ich die tbl-Datei auch nicht einbinden da sie bekanntlicherweise (NativeCode) nicht so akzeptiert wird von VB.Net. Die von VB.Net erstellte Dll will ich ja nicht benutzen, da ich vom Kunden nur eine tbl-Datei gekriegt habe.
Hat mir jemand einen Tip, wie ich eine solche Datei dynamisch einbinden kann? Geht das überhaupt? Arbeite mit VB.Net 2010 Express, Vista-32.
Danke für die Antwort
Freundliche Grüsse
exc-jdbi
Ich hab von meinen Kunden eine Tlb-Datei bekommen (mehr eben nicht), die ich nun in einer Net-Anwendung dynamisch einbinden soll.
Ich hab schon gesucht und auch probiert. Nun gefunden habe ich viel, nur funktionieren tut es nicht. Aus diesem Grunde habe ich mir jetzt eine eigene tlb-Datei erstellt die folgendermassen aussieht. Hab Sie Com-tauglich gemacht und registriert und nachher in Excel getestet und sie funktioniert einwandfrei.
[highlight=vbnet]
Option Explicit On
Option Strict On
Imports System.Runtime.InteropServices
Public Class cIntFunction
Public Function CreateIntArray() As Integer(,)
Dim intArray(,) As Integer
Dim rnd As New Random
ReDim intArray(9, 9)
CreateIntArray = Nothing
For i As Integer = 0 To 9
For j As Integer = 0 To 9
intArray(i, j) = rnd.Next(10, 100) '10 - 99
Next
Next
Return intArray
End Function
Public Function XHochY(ByVal intX As Integer, ByVal intY As Integer) As Integer
Return CInt(intX ^ intY)
End Function
Public Function sGetAnswer() As String
Return "Hallo from .Net Com"
End Function
Public Sub New()
MyBase.New()
End Sub
End Class
[/highlight]
Nun wollte ich die frisch erstellte tlb in einer Net-Anwendung importieren. Dies habe ich mit einer DllImport-Anweisung schon versucht, funktioniert aber nicht. Unter Verweise kann ich die tbl-Datei auch nicht einbinden da sie bekanntlicherweise (NativeCode) nicht so akzeptiert wird von VB.Net. Die von VB.Net erstellte Dll will ich ja nicht benutzen, da ich vom Kunden nur eine tbl-Datei gekriegt habe.
Hat mir jemand einen Tip, wie ich eine solche Datei dynamisch einbinden kann? Geht das überhaupt? Arbeite mit VB.Net 2010 Express, Vista-32.
Danke für die Antwort
Freundliche Grüsse
exc-jdbi
Comment