About Deligate

Hello.
I want to implement Deligate in a publisher-Subscriber pattern.

There are widgets and components, and I have created a manager class that connects them.

The widget is an item cell widget, which stores item information as a struct pointer when create it.
When press the widget button, want to pass the information to the component for processing.

To tell you the results of many searches and implementations, Deligate could not use a pointer as a parameter.
So I used the struct that I was trying to convey as a reference

Anyway, I succeeded in taking over the value.
The problem is that the component passes the reference it receives to another widget. There is no value when the widget attempts to process it.
The widget also stores item information as a structure pointer, just like the Item Cell widget.

When I debugged and looked at the call stack, I found that the address in the reference I received after I did Broadcast was different from the original address.

I’m sorry for the long writing.

The point is, do I copy the deligate parameter as a reference?
And how can solve it?