j@vh@l Ответов: 1

Как обновить элементы управления WPF из неуправляемого кода C ?


Привет
Я начинающий разработчик приложений для Windows с использованием WPF и. Net.

У меня есть существующая кодовая база на языке Си,которая не имеет никакого графического интерфейса. Я хотел бы обновить элементы управления WPF на основе определенной логики, которая была реализована в C.

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

Спасибо

Что я уже пробовал:

Я попробовал погуглить, и примеры, которые я нашел, были для консольного приложения. Мне нужен пример для приложения WPF.

[no name]

Да, это возможно. И поиск в google нашел бы кучу примеров. Как вы думаете, почему C# в WPF чем-то отличается от C# в консольном приложении?

j@vh@l

Спасибо за Ваш быстрый комментарий.

Не могли бы вы указать мне соответствующие ключевые слова? Я попытался найти "вызов управляемого кода из машинного кода".

Я нашел эту ссылку http://www.codeproject.com/Tips/695387/Calling-Csharp-NET-methods-from-unmanaged-C-Cplusp . Я попробовал его исполнить. Но это не сработало ( с помощью Visual Studio 2015 )

Это была просто мысль о том, что консоль и приложение wpf могут быть разными.

Я знаю, что с помощью обратных вызовов это можно реализовать, но мне нужен был рабочий пример, чтобы лучше понять это.

1 Ответов

Рейтинг:
4

KarstenK

Обратные вызовы возможны, но в C# это имя-делегаты.

Взгляните на мой статья который занимается такими вопросами.

Очень важно понимать, что среда выполнения C+ и c# живут в разных потоках, поэтому связь (обратные вызовы) должна быть потокобезопасной. Эта проблема прекрасно объяснена в этом Майкрософт . Если вы не позаботитесь об этом, вы получите раздражающие и странные сбои!!!


j@vh@l

Спасибо за помощь. :-)