Forum: VB.NET |
Thema:
VB.NET DLL in VB6 Programm verwenden |
Von:
Harry K (
24.10.2005 16:33) |
Hallo zusammen,
ich habe in VB.NET eine DLL geschrieben und für die Verwendung über COM offengelegt.
Im VB6 Programm instanziere ich eine Klasse der DLL und verwende eine Eigenschaft (zB. .XYZ), die es in der .NET DLL gar nicht gibt.
DER VB6 KOMPILER MELDET DAS PROBLEM NICHT!!!
Erst wenn das VB6 Program läuft und den fehlerhaften Code ausführt, tritt ein Laufzeitfehler
auf...
Sind Euch derartige "Phänomene" bekannt bzw. weiß jemand eine Lösung?
Vielen Dank!
Harry.
Hier die Code-Fragmente zum Ausprobieren:
-----VB.NET
<ComClass(NETClass.ClassId, NETClass.InterfaceId, NETClass.EventsId)> _
Public Class NETClass
Public Const ClassId = "B8C89930-1BB8-45a8-8A65-C91E4FCF866A"
Public Const InterfaceId = "3A0C0E57-AD12-4fd8-9720-2EB3133EC464"
Public Const EventsId = "1516D3DD-62F8-4039-B400-F17A6CFC2982"
Public Sub Senden()
'...
MsgBox("Ok!")
'...
End Sub
End Class
Im AssemblyInfo:
<Assembly: ComVisible(True)>
-----VB6
Option Explicit
Private Sub Command1_Click()
Dim cDLL As New VBNETDLL.NETClass
'Die Eigenschaft "eine_nicht_vorhandene_Eigenschaft" gibt´s nicht in der DLL!
'Dies wird vom Compiler nicht gemeldet - auch nicht, wenn eine EXE erstellt wird...
cDLL.eine_nicht_vorhandene_Eigenschaft = "Nachrichtentext"
Call cDLL.Senden
End Sub
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!