Можно ли получить доступ к потоку из двух форм в приложении форм Windows - PullRequest
1 голос
/ 05 апреля 2011

Я хочу запустить поток для обновления изображения в картинке. Изображение передается с камеры. Мне требуется для потоковой передачи изображений в две коробки изображения в двух разных формах, но по одному. Можно ли создать один поток, к которому могут обращаться обе формы.

Я думаю, что фоновый работник подойдет. Но как мне обновить изображения в картинках соответствующих форм?

Я использую VC ++ CLI / CLR

Ответы [ 2 ]

1 голос
/ 12 апреля 2011

A Thread - это объект, представляющий независимый путь выполнения (часто выполняемый параллельно другому).Я не совсем уверен, что вы подразумеваете под "вызовом" Thread, но вы можете создавать отдельные потоки и запускать на них методы.Затем между созданными вами потоками вы можете использовать какую-то синхронизацию, например Monitors, Mutexes и Events, и общий ресурс (будьте осторожны с межпотоковым доступом).Я был бы более искушен использовать некоторый образец подписки, где класс, который получает изображения от камеры, может обновить любых наблюдателей камеры.Вы можете захотеть интерфейс с именем ICameraObeserver с таким методом, как ReceiveImage, тогда любой класс может зарегистрироваться в классе вашей камеры с помощью какого-либо метода:

public void Register(ICameraObserver ico)

Затемкамера получает новое изображение, она может перебирать любых подписчиков типа ICameraObserver и вызывать ReceiveImage, передавая только что полученное изображение.

Просто идея.Будьте внимательны с обновлением интерфейса, если у вас запущено несколько потоков - об этом много информации.

0 голосов
/ 12 апреля 2011

Я думаю, что вы хотите сделать следующее: при создании новой формы отправьте конструктору первую форму как объект, затем и сделайте установщик / получатель или просто сделайте поток общедоступным, тогда вы можете «получить доступ» это из обеих форм, как вы просили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...