VB6 ActiveX referencing .net dll?

  • From: "Bryan Garaventa" <bryan@xxxxxxxxxxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Wed, 3 Oct 2007 15:24:47 -0700

Hopefully someone will reply to this one...

I've created a simple vb.net class library, which contains one Public function, GetSource.

I've created a vb6 ActiveX which imports this vb.net dll, with the hope of being able to use the GetSource function from the ActiveX.

However, this is what is happening.

When I instantiate the Capture class from the ActiveX, there are no methods available, even though the class and the internal function are Public.

When I instantiate the Interface "iCapture", which doesn't make much sense, I can see the internal method GetSource, but trying to use the function results in nothing.

Can you see from the code what I'm missing?

This is the vb.net dll code...


Imports System

Imports System.Runtime.InteropServices

Public Interface iCapture

Function SaveSource(ByVal Doc As Object, ByVal FilePath As String) As Boolean

End Interface

Public Class Capture

Implements HTMLParser.iCapture

Private Stream As ComTypes.IPersistFile

Public Function SaveSource(ByVal Doc As Object, _

ByVal FilePath As String) As Boolean Implements iCapture.SaveSource

Stream = CType(Doc, ComTypes.IPersistFile)

Stream.Save(FilePath, True)

Return True

End Function

End Class





And this is the vb6 ActiveX code...




Public Function GetSourceCode(ByVal Doc As Object, _
ByVal FilePath As String) As Boolean

Dim Parser As HTMLParser.Capture

Set Parser = New HTMLParser.Capture

GetSourceCode = Parser.SaveSource(Doc, FilePath)

End Function




Do you see what might be preventing me from using the method GetSource? Everything compiles without any errors.





__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts:

  • » VB6 ActiveX referencing .net dll?