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);