Как я могу преобразовать PaintDelegate^ в long для отправки в качестве параметра refCon, чтобы, оказавшись внутри TrackTransferCB, я мог преобразовать его обратно и вызвать? Длинный, в который он преобразуется, ничего не значит, пока я могу преобразовать его обратно в делегат.
Это общая идея:
PaintDelegate^ paintDel = ...;
refCon = (long)paintDel; // This conversion doesn't work
...
static OSErr TrackTransferCB(Track t, long refCon) {
(PaintDelegate^)refCon->Invoke(); // This conversion doesn't work
}
Какие преобразования будут работать таким образом?