У меня такая ситуация, необходимо для моего проекта написать интерфейс под .NET. Мой проект написан под Visual C++ 6.0. Перенёс его под VS 7.1 всё вроде нормально работает со старым текстовым интерфейсом. Затем удалил старый интерфейс и попробовал поставить новый, студия соответственно потребовала сделать "Use Managed Extensions: Yes". Сделал ей это. Но теперь у меня деструкторы вызываются по другому и фактически, когда я начинаю вызывать их, то у некоторых объектов они уже оказываются вызваны, таким образом приложение вылетает. Что делать? Просто убрать все свои деструкторы или поставить некоторые директивы #pragma и т. п.?
Это я просто окошки всякие рисую для программы своей. Раньше программа работала под VC++ 6.0 с текствой графикой и т. п. Сейчас просто хочу перенести ядро программы под VS 7.1 и нарисовать нормальный интерфейс с пользователем (окошки)
Re[3]: Проект Visual C++ 6.0 под Visual Studio 7.1
Здравствуйте, Zibir, Вы писали:
Z>Это я просто окошки всякие рисую для программы своей. Раньше программа работала под VC++ 6.0 с текствой графикой и т. п. Сейчас просто хочу перенести ядро программы под VS 7.1 и нарисовать нормальный интерфейс с пользователем (окошки)
может проще будет написать GUI на дотнете, остальное скомпилить в обычную DLL и пользовать из дотнета через P/Invoke?
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[4]: Проект Visual C++ 6.0 под Visual Studio 7.1
Здравствуйте, _Morpheus_, Вы писали:
_M_>Здравствуйте, Zibir, Вы писали:
Z>>Это я просто окошки всякие рисую для программы своей. Раньше программа работала под VC++ 6.0 с текствой графикой и т. п. Сейчас просто хочу перенести ядро программы под VS 7.1 и нарисовать нормальный интерфейс с пользователем (окошки)
_M_>может проще будет написать GUI на дотнете, остальное скомпилить в обычную DLL и пользовать из дотнета через P/Invoke?
Этого я точно не знаю, что будет проще Но мне представлялось, что можно просто осуществить такую схему, при которой часть проекта будет, как бы, просто сушествовать, как чистый C++, а другая часть (интерфейс) уже под .NET. Разме это не возможно?
Re[5]: Проект Visual C++ 6.0 под Visual Studio 7.1
Здравствуйте, Zibir, Вы писали:
Z>>>Это я просто окошки всякие рисую для программы своей. Раньше программа работала под VC++ 6.0 с текствой графикой и т. п. Сейчас просто хочу перенести ядро программы под VS 7.1 и нарисовать нормальный интерфейс с пользователем (окошки)
_M_>>может проще будет написать GUI на дотнете, остальное скомпилить в обычную DLL и пользовать из дотнета через P/Invoke?
Z>Этого я точно не знаю, что будет проще Но мне представлялось, что можно просто осуществить такую схему, при которой часть проекта будет, как бы, просто сушествовать, как чистый C++, а другая часть (интерфейс) уже под .NET. Разме это не возможно?
если ты хочешь чтобы все было в одном файле, то чистый C++ не получится, т.к. исполняемый файл либо является дотнет сборкой либо не является. А в дотнет сборке чистого C++ не будет.
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[6]: Проект Visual C++ 6.0 под Visual Studio 7.1
Здравствуйте, Zibir, Вы писали:
Z>Тогда как лучшим образом это офрмить с dll? Или можно использовать lib?
можно весь код перевести на MC++, но он будет плохочитаем.
Поэтому можно перевести на MC++ только бизнеслогику и компилить в отдельную сборку, а GUI написать на C# подключив сборку с бизнеслогикой.
Другой вариант — скомпилить нужные функции в обычную DLL на обычном C++, а затем из C# приложения вызывать эти функции через P/Invoke.
lib можно подключить к C++ проекту, к C# его не прикрутишь.
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[4]: Проект Visual C++ 6.0 под Visual Studio 7.1