Проект в Visual C++ 2005 на основе COM библиотек...
Соответственно чтобы такой откомпиленный проект заработал на другой машине, необходимо чтобы на ней стоял этот .NET Framework.
Проблемы две:
1) Этот комп, на котором надо запустить проект, старый и уже давно вышел из моды (т.е. винда там грузится минут 10 :) )
2) Для установки на этом компе .NET Framework`a недостаточно места. :)
И наконец вопрос: какие настройки в Visual C++ 2005 необходимо сделать, чтобы проект работал на COM компонентах, которые, хотя бы, использовались в Visual C++ 6.
Очень нужно! А ради одной маленькой программки не хочется ставить Visual Studio 6.
Спасибо большое!
При создании проекта ты сам выбираешь, что это будет за проект.
Впрочем, попробуй просто создать проект и все поймешь сам.
Насколько я помню это Project -> Properties
А если ты не понял вопроса, так и скажи.
А то что ты выбираешь при создании проекта - это на каком языке будешь писать проект и его тип (MFC, ATL, Win32 и т.д.) и по умолчанию все эти проекты используют компоненты (например: текстовое поле, кнопочка, чекбокс и т.д.) находящиеся в .NET Framework`e, а мне нужно чтобы они брались из COM библиотек.
А я спрашивал: как сделать, чтобы проект работал на COM библиотеках, а не на библиотеках .NET Framewоrk?
В VS 2005 по-любому можно такое сделать, а где и как - я пришел спросить на форуме.
А что, там нет настроек - управляемый код или неуправляемый код?
Не верю что нет, должны быть, сам в 2003 создавал С++ проект, указывал Unmanaged (или Not managed... ну ты понял :))
VS2005 по умолчанию создает managed-проекты? чушь. Обычные проекты, никаких managed-подтасовок не заметил...
А уж при работе с COM тем более... в managed просто сама работа с COM происходит СОВСЕМ ИНАЧЕ, и это НЕ откомпилится на VC6. Если же всё делал так же, как в VC6, то о managed речи идти не может, так как по понятиям managed это чистый unsafe - не пропустит если специально не попросить. И если пропускает - значит никакой у тебя не managed. А значит никакой у тебя не .NET
Постараюсь еще раз объяснить:
Когда создаю в VS2005 новый C++ (MFC) или VB проект, то всякие там кнопочки :), чекбоксы, текстовые поля и т.д. берутся как .NET Framework.
Для убеждения создайте MFC проект на C++ c диалогом (визардом), потом слева на панеле Toolbar нажмите правой кнопкой мыши и выберите пункт меню Choose Item..., там появятся 2 вкладки - на первой написано .NET Framework Components, а на второй COM Components.
Ну так вот...
Всегда, после создания какого-нибудь проекта используются .NET Framework Components, поэтому для того чтобы откомпиленный exe-шник заработал на другом компе, на тот комп надо ставить .NET Framework (убедился на своем опыте).
Вот я хотел спросить: как создать проект в VS2005, чтобы .NET Framework Components не использовались вообще, чтобы использовались только COM Components.
Надеюсь вопрос понятен!
Спасибо!
Когда создаю в VS2005 новый C++ (MFC) или VB проект, то всякие там кнопочки :), чекбоксы, текстовые поля и т.д. берутся как .NET Framework.
[/QUOTE]
С чего ты это взял?
[QUOTE=UnErase]
Для убеждения создайте MFC проект на C++ c диалогом (визардом), потом слева на панеле Toolbar нажмите правой кнопкой мыши и выберите пункт меню Choose Item..., там появятся 2 вкладки - на первой написано .NET Framework Components, а на второй COM Components.
[/QUOTE]
Ок, давай.
File -> New -> Project -> Visual C++ -> MFC -> MFC Application
Что ты имел в виду под "MFC проект на C++ c диалогом (визардом)" для меня осталось загадкой, поэтому выбираем в визарде создания проекта Dialog based. Вводим название проекта, жмем Finish.
Далее редактируем ресурсы. Открываем Resource view, выбираем шаблон диалога. Появляется панель Toolbox (а не Toolbar). На этой панеле выбираем любой элемент управления и перетягиваем его на шаблон диалога.
Для того, чтобы добавитьь какой-нибудь COM-компонент на Toolbox для дальнейшего перетаскивания на шаблон диалога, выбираем пункт контекстного меню Choose Items... и ставим галочки в соотв. чекбоксах вкладка COM Components. Вкладка .NET Frameworks Components никакой силы не имеет, никакие выделенные на ней компоненты на Toolbox не попадут, т.к. это не .NET проект.
[QUOTE=UnErase]Ну так вот...
Всегда, после создания какого-нибудь проекта используются .NET Framework Components, поэтому для того чтобы откомпиленный exe-шник заработал на другом компе, на тот комп надо ставить .NET Framework (убедился на своем опыте).
[/QUOTE]
Ну раз ты лучше знаешь, убедился на своем опыте, чего ж ты нас спрашиваешь. Советовать читать книги и справку (MSDN) видимо уже поздно.
Ты только скажи, как ты умудрился с помощью Choose Items поместить на шаблон диалога элементы управления, да ещё .NET Framework? И как ты скомпилировал этот MFC проект?
[QUOTE=UnErase]
Вот я хотел спросить: как создать проект в VS2005, чтобы .NET Framework Components не использовались вообще, чтобы использовались только COM Components.
[/QUOTE]
File -> New -> Project -> Visual C++ -> MFC -> MFC Application
Цитата:
Что ты имел в виду под "MFC проект на C++ c диалогом (визардом)" для меня осталось загадкой
- что имел, то и ввиду...
Ладно, если ты все знаешь, тогда скомпилируй этот проект, скопируй этот exe-шник на дискету (можешь на CD), скопируй на комп где не стоит Microsoft .NET Framework (для большего эффекта запусти на Win98), и запусти этот exe-шник.
Как это сделаешь (еще раз говорю: именно на компе, на кот. не стоит Microsoft .NET Framework), расскажи что у тебя появилось на экране вместо диалога.
И ЕЩЕ РАЗ ГОВОРЮ: ЗАПУСТИ ЭТОТ ЕХЕ-ШНИК НА КОМПЕ ГДЕ НЕ СТОИТ Microsoft .NET Framework!!!
Может тогда ты поймешь о чем я говорил.
P.S. Сразу видно что ты теоретик...
Цитата:
Ну раз ты лучше знаешь, убедился на своем опыте, чего ж ты нас спрашиваешь.
Потому и спрашиваю... я спрашивал: как сделать проект в VS2005, чтобы он запускался на компе, где не установлен Microsoft .NET Framework!!!!!
Пытаюсь это сделать раз пять-шесть на дню и всё ок. :D
А ты пытался? Это после Choose Items... ? :D
Ты видишь разницу между ,NET Framework и MFC ?
Видимо нет. И все же попробуй в своем проекте поставить "Use MFC in a Static Library" вместо "Use MFC in a Shared DLL" и будет тебе чудо!
В Choose Item... я стал заходить какраз после того, как Wind`a на другом компе мне сказала, что не найдены компоненты .NET Framework`a.
И разницу я вижу...
А если у тебя все ок, значит на компе стоит .NET Framework.
Если хочешь, я тебе даже скриншот завтра выложу...
Ну и конечно, интересно, что у тебя там за сообщение вылазит.
И запускай его на компе где не установлен Microsoft .NET Framework.
Ты только не exe-шник выкладывай, а проект полностью.
ОК!
Я и то и др. выложу...