Man... where's a pointer when you need one

Here's my situation, I have an instance of some Class A and that class creates an instance of a Form. After the control is passed to the Form object it has to contact the parent Class A and run a function or two. So my question is, how do I pass the address of the object to the form so that when the form executes a function from that object it's from the same instance and not a new one? I've tried passing the class ByRef to a function in the form and then that function had its own variable of the same type defined, but without an instance. Then I'd set that variable to the one that was passed ByRef and try to execute it, but then I got a message saying that the object doesn’t have an instance. Tried it with a delegate as well but that is for functions only and I need something for a class.

Any ideas?