Solved

Overloading Functions

Posted on 2004-10-14
4
229 Views
Last Modified: 2010-04-24
Hi

Is there any obvious flaws with my code below, I have created a DLL with two functions with an overload

Public Function Config(ByVal strIOAddress As String) As String
        'Function:  This sets settings on the ADAM Module

        '%AANNTTCCFF
        'AA = Address in hex
        'NN = Address to set the ADAM Module to
        'TT = Type code Always = 40 for ADAM Modules 4050-68
        'CC = Baud Rate
        '   03      1200bps
        '   04      2400bps
        '   05      4800bps
        '   06      9600bps
        '   07      19.2kbps
        '   08      38.4Kbps
        '   09      57.6Kbps
        '   0A      115.2Kbps
        '
        ' FF = Checksum Status and Protocol
        '
        '   Bits        Function
        '    0          Always set to 0
        '    1          Always set to 0
        '    2          Selection of Protocol (0 = Advantech(ASCII), 1 = Modbus)
        '    3          Always set to 0
        '    4          Always set to 0
        '    5          Always set to 0
        '    6          Selection Checksum (0 = Disabled, 1 = Enabled)
        '    7          Always set to 0
        Dim strPacket As String
        Dim checksumprotocol As String = Bin2Hex("00" & Protocol & "000" & Checksum & "0")
        strPacket = "%" & Address & strIOAddress & TypeCode & BaudRate & checksumprotocol
        MsgBox(strPacket)
        Return strPacket
    End Function
    Public Overloads Function Configuration() As String
        'LOOK IN ABOVE FUNCTION FOR DETAILS
        MsgBox("hello")
        Return Config(Address)
    End Function
    Public Overloads Function Configuration(ByVal strIOAddress As String) As String
        'LOOK IN ABOVE FUNCTION FOR DETAILS
        MsgBox("hello")
        Return Config(strIOAddress)
    End Function

This just should return a string

I reference the DLL and call the code like this in another program

Private adammodule As New ADAM_DLL.CommandSet()

Dim packet As String = adammodule.Configuration()
MsgBox(packet)

The msgbox(packet) comes back as nothing and neither of the msgbox's in the DLL appear

I can successfully call other functions in the DLL and they work fine
And yes i have updated the DLL so that the program has the most up to date version of it

Thanks
Adam
0
Comment
Question by:adam_pedley
  • 2
  • 2
4 Comments
 
LVL 6

Expert Comment

by:etmendz
Comment Utility
Looky here:

    Public Overloads Function Configuration() As String
        'LOOK IN ABOVE FUNCTION FOR DETAILS
        MsgBox("hello")
        Return Config(Address) ' <-- ding! ding! ding!
    End Function

Where did Address come from? Did you initialize it anywhere?

Have fun.
0
 
LVL 6

Accepted Solution

by:
etmendz earned 500 total points
Comment Utility
This should be easy to trace if you breakpoint and step debug. I recommend that you step debug so you'll know what's happening on every line you're interested in... MsgBox() debugging technique's not so cute...

Have fun.
0
 
LVL 4

Author Comment

by:adam_pedley
Comment Utility
Address was initialised elsewhere

I found the problem, even though i remove the reference to the DLL in vb .net then readded it after a recompile of the DLL it still didnt add the new one

So it was a stupid mistake

Thanks anyway
0
 
LVL 4

Author Comment

by:adam_pedley
Comment Utility
I would only step debug if some strange things were happening, but a msgbox to quickly find out if it gets to that point in the code is alot quicker
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

A while ago, I was working on a Windows Forms application and I needed a special label control with reflection (glass) effect to show some titles in a stylish way. I've always enjoyed working with graphics, but it's never too clever to re-invent …
Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now