none
Native WIN 32 DLL - что почитать? RRS feed

  • Вопрос

  • Есть старое Windows приложение, допускающее использование внешних dll. Для расширения функциональности желательно написать новую библиотеку, для совместимости с приложением - native Win 32 dll. При пользовании поиском так и не нашел однозначного ответа, как можно в современных версиях Visual Studio создавать проекты native Win 32 dll. Для разработки хотелось бы использовать basic.net или с#.
    Подчеркну, нужно создать дополнительную dll для старого приложения, а не использовать dll старого проекта в новой разработке.
    Какими компонентами Visual Studio можно пользоваться и что стоит почитать по данной теме?
    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 22:32 MSDN Forums consolidation (От:Разработка Windows-приложений)
    25 октября 2009 г. 6:08

Ответы

  • создавать проекты native Win 32 dll. Для разработки хотелось бы использовать basic.net или с#.

    Тут два варианта – либо вы продолжаете работать на С++, где есть возможность получать нативную C++ DLL (VS их все еще поддерживает), либо вы используете C#/VB, но тогда вам нужно использовать P/Invoke для того чтобы делать вызовы из вашей старой DLL.

    Есть и 3й вариант – использовать managed C++, то есть работать с С++ но подключать в него поддержку .Net.


    - Dmitri Nesteruk
    • Изменено Dmitri Nesteruk 25 октября 2009 г. 8:02 ошибки
    • Предложено в качестве ответа I.Vorontsov 30 октября 2009 г. 10:40
    • Помечено в качестве ответа I.Vorontsov 3 ноября 2009 г. 10:31
    25 октября 2009 г. 8:01
  • Как мне известно, посредством C#/VB - это невозможно..С++ да..
    • Предложено в качестве ответа I.Vorontsov 30 октября 2009 г. 10:40
    • Помечено в качестве ответа I.Vorontsov 3 ноября 2009 г. 10:31
    27 октября 2009 г. 6:54

Все ответы

  • создавать проекты native Win 32 dll. Для разработки хотелось бы использовать basic.net или с#.

    Тут два варианта – либо вы продолжаете работать на С++, где есть возможность получать нативную C++ DLL (VS их все еще поддерживает), либо вы используете C#/VB, но тогда вам нужно использовать P/Invoke для того чтобы делать вызовы из вашей старой DLL.

    Есть и 3й вариант – использовать managed C++, то есть работать с С++ но подключать в него поддержку .Net.


    - Dmitri Nesteruk
    • Изменено Dmitri Nesteruk 25 октября 2009 г. 8:02 ошибки
    • Предложено в качестве ответа I.Vorontsov 30 октября 2009 г. 10:40
    • Помечено в качестве ответа I.Vorontsov 3 ноября 2009 г. 10:31
    25 октября 2009 г. 8:01
  • Спасибо за ответ. Про С++ понял, есть такие возможности. С остальными вариантами хочу переспросить:
    У меня задача сделать новую dll к старому приложению. Речь идет не о вызове из нового приложения старой dll, а о обратной задаче: приложение старое, а вот dll к нему надо переписать.
    Вопрос на чем: соответственно, либо С++, или все-таки можно писать такие вещи на C#/VB ?

    25 октября 2009 г. 14:44
  • Как мне известно, посредством C#/VB - это невозможно..С++ да..
    • Предложено в качестве ответа I.Vorontsov 30 октября 2009 г. 10:40
    • Помечено в качестве ответа I.Vorontsov 3 ноября 2009 г. 10:31
    27 октября 2009 г. 6:54