Задать вопрос

Как создать ссылку на делегат, чтобы сборщик мусора его не уничтожил?

При изменении размеров окна приложения вызывается делегат, который передаётся неуправляемому коду и программа вылетает с ошибкой: Был произведен обратный вызов делегата типа "OPENGL_SDK!OPENGL_SDK.Glut+dReshapeFunc::Invoke", полученного сборщиком мусора. Это может привести к сбоям приложения, а также к повреждению или утрате данных. При передаче делегатов в неуправляемый код управляемое приложение должно поддерживать их существование, пока не будет гарантировано, что они больше никогда не будут вызваны.

Я догадываюсь, что нужно сделать так, чтобы в управляемом коде делегат оставался в продолжение жизни программы, но как это сделать, я не знаю.
  • Вопрос задан
  • 3610 просмотров
Подписаться 4 1 комментарий
Подписчики вопроса 4 К ответам на вопрос (2)