Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > MFC классы в Windows Forms Application


Автор: programming 30.4.2013, 17:00
Есть проект Windows Forms Application в VS2008. Также есть хэдер файл с классами lib.h, в котором используются MFC классы CObject, CArray(наследование). Соответственно проект не компилируется из-за отсутствия этих MFC классов.

Возможно ли каким-нибудь способом именно в Windows Forms приложении подгрузить эти библиотеки MFC?

Спасибо.

Автор: akizelokro 30.4.2013, 17:35
По-моему, давно программированием не занимался, могу и ошибиться, проект Windows Forms юзает .NET (managed code), а MFC это native-библиотеки.
в managed code возможность подключать unmanaged code есть (когда-то видел). Тебе просто нужно покопаться в msdn, как это делается.

Автор: programming 30.4.2013, 18:02
В общем да, но не могу решить эту проблему. 

Автор: Earnest 30.4.2013, 18:23
MFC Отдельно, WIndows Forms - отдельно. Они не смешиваемы.
И не о чем здесь сожалеть: все эти CArray и CObject слова доброго не стоят. Морально устарели, видимо, еще до твоего рождения.
От CArray и ему подобных отказывайся решительно и переходи на стандартные контейнеры.
А вместо CObject какой-то аналог в формах наверняка есть. В крайнем случае, напиши сам. Вряд ли тебе нужны все многочисленные и запутанные возможности CObject. Так что можешь минимизировать

Автор: akizelokro 30.4.2013, 19:32
http://www.cplusplus.com/forum/windows/57771/

в принципе, логически рассуждая, это загибоны Майкрософта. потому что managed code был писан на основе native (unmanaged), а ситуация снова меняется и выворачивается с mobileApp непонятно куда.
думаю, что dll-ки из старого кода ты не вставишь, а прагмы можно попробовать. можно и те загибоны по "соединению" NET и неNET кода попробовать, но я когда лет 5 назад их смотрел, я чуть ли не вниз головой рухнул. Себе дороже этой шнягой увлекаться.
а если прагма и dll не поможет, то чёрт знает, что делать. я так понимаю, что managуd коде писался даже конкретней на С, а не на С++, мне что то, что это до балды, я помню, когда под первую винду на С программировал, это была шняга веселая)
там нужно будет к __cdecl переводить)

Автор: akizelokro 1.5.2013, 15:00
проще код переписать. imho

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)