Forum: Visual Basic |
Thema:
Visual Basic 6 - COM nach .Net migrieren und in VB6 wieder verwenden |
Von:
Guido Nachtigall (
04.04.2005 14:31) |
Hallo,
ich möchte folgenden Code nach .NET migrieren und
dann wieder in VB 6 als COM-Komponente wieder einsetzen:
VB6 - Code:
Option Explicit
Public Function Translate(ByVal SentenceFrom As String, _
ByVal LanguageFrom As String, _
ByVal LanguageTo As String) As String
If LCase(LanguageFrom) = "english" And _
LCase(LanguageTo) = "spanish" Then
Select Case LCase(SentenceFrom)
Case "hello world"
Translate = "hola mundo"
End Select
End If
End Function
der Aktualisierungsassistent hat daraus folgendes generiert:
VB.NET:
Option Strict Off
Option Explicit On
Imports System.Runtime.InteropServices
<ComVisible(True), System.Runtime.InteropServices.ProgId("Translator_NET.Translator")> Public Class Translator
Public Function Translate(ByVal SentenceFrom As String, ByVal LanguageFrom As String, ByVal LanguageTo As String) As String
If LCase(LanguageFrom) = "english" And LCase(LanguageTo) = "spanish" Then
Select Case LCase(SentenceFrom)
Case "hello world"
Translate = "hola mundo"
End Select
End If
End Function
End Class
Mein Problem: Wenn ich versuche die .dll als Verweis in VB6 anzulegen, bekomme ich folgende
Fehlermeldung 'Verweis auf angegebene Datei kann nicht hinzugefügt werden'. Wenn ich auf die
miterzeugte .tlb verweise, funktioniert es allerdings.
Warum kann ich aber nicht direkt auf die .dll verweisen ?
Ich hab schon vieles versucht:
Ich hab
- der .dll einen 'starken Namen' gegeben.
- mit Com-Interop gearbeitet
- mit regsvcs registriert
- mit regasm registriert
- mit gacutil registriert
Der Verweis in VB.Net auf die .dll funktioniert dagegen einwandfrei.
Kann mir jemand bitte helfen ?
Betreff |
Von |
Datum |
|
|
G.
Guest
|
05.10.2005 11:43 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!