Sharing information between classes

J

jrpfinch

I'm new to using class modules and was wondering how to do the
following

I have a class module called DeviceList, which contains

Private m_strListName As String
Private m_lbLinkButton As LinkButton
Property Get AddButton() As LinkButton
Set AddButton = m_lbAddButton
End Property
Property Set AddButton(lbLinkButton As Object)
Set m_lbAddButton = lbLinkButton
End Property
Property Get ListName() As String
ListName = m_strListName
End Property
Property Let ListName(ByVal strNewValue As String)
' Raise an error if an invalid assignment is attempted.
If Len(strNewValue) = 0 Then Err.Raise 5
m_strListName = strNewValue
End Property

I was wondering if there was a way to directly access ListName
directly from the LinkButton module using something like myVar =
Me.Parent.ListName. This doesn't work, but there must be some way of
accessing the parent object instance's properties and methods right?

Thanks for any forthcoming help.
 
R

Rob Bovey

You just need to give your LinkButton class a DeviceList object variable and
a Parent property that sets and returns references to that object.

Private mobjParent As DeviceList

Public Property Set Parent(ByRef objNewValue As DeviceList)
Set mobjParent = objNewValue
End Property

Public Property Get Parent () As DeviceList
Set Parent = mobjParent
End Property

You then need to initialize the LinkButton object's Parent property when you
create it. After that you can reference any public DeviceList method or
property from within the LinkButton class using either the mobjParent object
variable directly or through the LinkButton Parent property as in your
request.

--
Rob Bovey, Excel MVP
Application Professionals
http://www.appspro.com/

* Take your Excel development skills to the next level.
* Professional Excel Development
http://www.appspro.com/Books/Books.htm
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top