Solved

Referring to other classes in the same DLL

Posted on 1998-08-05
4
145 Views
Last Modified: 2010-05-03
Hello,
I am a VB student with the following problem:

I have a standard project with a standard startup module (StartModule).
I have a DLL(DLLA) with two classes (ClassA and ClassB).

StartModule has instantiated examples of both ClassA and ClassB.  I want ClassA to be able to
call ClassB via the instance of ClassB started by StartModule.

I have got this far:

STARTMODULE:
Declarations:
public ExampleA as new ClassA

Main:
set exampleA.objparent = me

DLLA:ClassA (and ClassB)
Declarations:
public objparent as ?????????? what

I can't say "public objparent as StartModule" because VB wont recognise that.  StartModule is not a class and it is in a separate project.

(I was thinking of referring to ClassB from ClassA as "Startmodule.ClassB")

In essence I am trying to get one class in a DLL to call another class in the same DLL.  But as they are separate instances I am not sure how to do it.

I would be most grateful for a solution with code examples.

Thanks,
TrimTrom
0
Comment
Question by:trimtrom
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
4 Comments
 
LVL 2

Accepted Solution

by:
percosolator earned 100 total points
ID: 1468032
ok.  here is sample code to show you how to pass instances about.

------------------------------------------------------------


Option Explicit


'Start Module
Public ExampleA As New ClassA
Public ExampleB As New ClassB

Public Sub main()


       
    'Set ExampleA's ClassB object to the Start Module's Instance
    Set ExampleA.MyClassB = ExampleB
   
    'set example B's Message property
    ExampleB.Message = "This Message is Available to Both Sub Main," & _
                        "And the Instance of ClassA"

    'display ExampleB's Message
    ExampleB.PrintMessage
   
    'show that ExampleA is using the same instance of ExampleB
    'by displaying ExampleA's instance of ClassB's message
    ExampleA.ShowClassBMessage
   

End Sub


-------------------------------------------------------------


'Class A

Option Explicit

Dim objClassB As ClassB

Public Property Set MyClassB(C As ClassB)
    Set objClassB = C
End Property

Public Sub ShowClassBMessage()

    objClassB.PrintMessage
   
End Sub


----------------------------------------------


'ClassB

Option Explicit

Dim strMessage As String
Public Property Let Message(S As String)

    strMessage = S
   
End Property
Public Sub PrintMessage()

        MsgBox strMessage
       
End Sub


----------------------------------------


0
 

Author Comment

by:trimtrom
ID: 1468033
OK Thanks very much.  A very clear and concise answer.
0
 
LVL 2

Expert Comment

by:percosolator
ID: 1468034
you are welcome.
0
 
LVL 2

Expert Comment

by:percosolator
ID: 1468035
I occasionally have brief moments of lucidity. <g>


Anytime...
0

Featured Post

[Webinar] How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

688 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