System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен - C# (236119)
Формулировка задачи:
Дела обстоят так. Есть у меня в классе GameForm поле В этой панельке я собираюсь отображать видео.
В классе Kernel у меня есть такое поле: А вот как выглядит метод Main в классе Kernel:Метод Pipeline запускается в отдельном потоке, а там у нас есть строчка Класс Preview:Запускаю проект, мне выдает пустую форму (хотя я уже должен был наблюдать за рендерингом видео). Закрываю, выдает эксепшен
И ругается на строчку Вопрос, думаю, ясен
public System.Windows.Forms.Panel RenderPanel;
public static Control RenderOwner = null;
private static void Main(string[] args) { GameForm gameForm = new GameForm(); Application.Run(gameForm); RenderOwner = gameForm.RenderPanel; previewVideo = new Preview(); Thread PipelineThread = new Thread(new ThreadStart(Pipeline)); PipelineThread.Start(); }
previewVideo.Start();
public class Preview { private Video previewVideo = null; public Preview() { previewVideo = new Video("Video\\Preview.wmv"); previewVideo.Owner = Kernel.RenderOwner; } public void Start() { if(previewVideo.Playing != true) previewVideo.Play(); } }
System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен
previewVideo.Owner = Kernel.RenderOwner;
Решение задачи: «System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен»
textual
Листинг программы
Application.Run(gameForm);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д