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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д