Sto convertendo un System.Ation gestito in una funzione std :: non gestita all'interno di un progetto C++/CLI; dovrei rilasciare il dato IntPtr dopo aver usato il callback, o non è necessario?Marshal :: GetFunctionPointerForDelegate: dovrei rilasciare il suo risultato?
void MyClass::Execute(System::Action^ callback)
{
IntPtr callbackPtr = Marshal::GetFunctionPointerForDelegate(callback);
std::function<void (void)> nativeCallback = static_cast<void (__stdcall *) (void)>(callbackPtr.ToPointer());
m_nativeObject->Execute(wrappedCallback);
// should I release callbackPtr here?
}
anche se m_nativeObject-> Execute (wrappedCallback) è sincrono? – Notoriousxl
Una discussione ti rovinerà la giornata. Bene, settimana. –