Avatar of weisscoaching
weisscoaching
 asked on

What do I have to do to make my DLL able to be registered

I have written a DLL in VB (not using MS visual studio)
I intend to use these function in Excel VBA

the code compiles without a problem but I can't register it.
I get the following message the dll was loaded but the entry-point dllRegisterserver was not found.

is there something in the code that I need to add to make this work?
Visual Basic ClassicMicrosoft ExcelVBA

Avatar of undefined
Last Comment
weisscoaching

8/22/2022 - Mon
Joe Howard

If it isn't a COM dll you can't register it.
weisscoaching

ASKER
Thank you John.  I agree I wasted time following Kanti's links.

Marcoshadow: OK so I have what I think is a COM dll.  how can I use the Dll via VBA?
Joe Howard

OK so I have what I think is a COM dll
Is it or isn't it?

What language is the dll written in?
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
weisscoaching

ASKER
it is written in VB.

I have never done this before.
I used the editor "Microsoft visual Basic 2008 Express Edition"
I created a new project of type Class library and in it I add a module/class

the code looks like this:
Option Explicit On

Public Class Zakaut_calculations
    Public ReadOnly Property Zakaut_Kids_Point(ByVal NumberOfKids As Integer) As Integer
        Get
            Return Calculate_Kids_Points(NumberOfKids)
        End Get
    End Property

    Public Function Calculate_Kids_Points(ByVal intNumkids As Integer) As Long
        If intNumkids > 0 Then
            Select Case intNumkids
                Case 1
                    Calculate_Kids_Points = 350
                Case 2, 3, 4
                    Calculate_Kids_Points = (350 + ((intNumkids - 1) * 150))
                Case Is > 4
                    Calculate_Kids_Points = (800 + ((intNumkids - 4) * 100))
                Case Else
                    Calculate_Kids_Points = 0
            End Select
        Else
            Calculate_Kids_Points = 0
        End If
    End Function
    Public Sub New(ByVal NumberOfKids As Integer)
        MsgBox("Class started/ended", vbOKOnly, " ")
    End Sub

    Protected Overrides Sub Finalize()
        MsgBox("Class started/ended", vbOKOnly, " ")
        MyBase.Finalize()
    End Sub
End Class
ASKER CERTIFIED SOLUTION
Joe Howard

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
weisscoaching

ASKER
Thanks I have made progress with these instructions.

I am still getting an error that the function I am calling is not defined. but I am at least one or two steps closer than were I was.