How to label an object that persists in memory?

P

pinkfloydfan

Hi there

In order to keep an object in memory with a know reference point, I
typically store it in an element of a public array. Thus, the element
number it is stored in becomes a reference point to the object and
using this number I can access that specific object's methods through
other UDFs.

The problem with this though is that it is not particularly neat in
that referencing an object in memory via a number offers no
description to what the object is. I would much rather be able to
attach a (user-defined) label to the object and use that label as a
reference point. However, my problem then becomes how to set a
pointer from that label to the array element the object is stored in.

Does anybody have any ideas that I might try to achieve this labelling
process?

Thanks very much
Lloyd
 
G

Guest

I would be more inclined to use a collection as opposed to an array...

Public colObjects As Collection

Sub PopulateCollection()
Set colObjects = New Collection

colObjects.Add Sheet1, "MySheet"
colObjects.Add Range("A1:B2"), "MyRange"

MsgBox colObjects("MySheet").Name
MsgBox colObjects("MyRange").Address
End Sub
 
M

merjet

It's not very clear what you are doing or trying to do, but have you
considered a user-defined type? You could include a description as one
of its elements. You can also declare an array of this type.

Hth,
Merjet
 
P

pinkfloydfan

Gotcha,

So you can store the object in a collection and then attach a label to
it to describe it by...

That might work although I will have to re-write my UDFs to access the
various methods via the collection first, but that seems ok.

Cheers
Lloyd
 

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