System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен - C# (236119)

Узнай цену своей работы

Формулировка задачи:

Дела обстоят так. Есть у меня в классе GameForm поле
Листинг программы
  1. public System.Windows.Forms.Panel RenderPanel;
В этой панельке я собираюсь отображать видео. В классе Kernel у меня есть такое поле:
Листинг программы
  1. public static Control RenderOwner = null;
А вот как выглядит метод Main в классе Kernel:
Листинг программы
  1. private static void Main(string[] args)
  2. {
  3. GameForm gameForm = new GameForm();
  4. Application.Run(gameForm);
  5. RenderOwner = gameForm.RenderPanel;
  6. previewVideo = new Preview();
  7. Thread PipelineThread = new Thread(new ThreadStart(Pipeline));
  8. PipelineThread.Start();
  9. }
Метод Pipeline запускается в отдельном потоке, а там у нас есть строчка
Листинг программы
  1. previewVideo.Start();
Класс Preview:
Листинг программы
  1. public class Preview
  2. {
  3. private Video previewVideo = null;
  4. public Preview()
  5. {
  6. previewVideo = new Video("Video\\Preview.wmv");
  7. previewVideo.Owner = Kernel.RenderOwner;
  8. }
  9. public void Start()
  10. {
  11. if(previewVideo.Playing != true)
  12. previewVideo.Play();
  13. }
  14. }
Запускаю проект, мне выдает пустую форму (хотя я уже должен был наблюдать за рендерингом видео). Закрываю, выдает эксепшен
System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен
И ругается на строчку
Листинг программы
  1. previewVideo.Owner = Kernel.RenderOwner;
Вопрос, думаю, ясен

Решение задачи: «System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен»

textual
Листинг программы
  1. Application.Run(gameForm);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы