Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проект в Visual C++ 2005 на основе COM библиотек...

725
30 июня 2006 года
UnErase
190 / / 08.06.2006
Все знают что при создании проекта с настройками по умолчанию, в среде Visual C++ 2005, этот проект работает на .NET Framework`e.
Соответственно чтобы такой откомпиленный проект заработал на другой машине, необходимо чтобы на ней стоял этот .NET Framework.

Проблемы две:
1) Этот комп, на котором надо запустить проект, старый и уже давно вышел из моды (т.е. винда там грузится минут 10 :) )
2) Для установки на этом компе .NET Framework`a недостаточно места. :)

И наконец вопрос: какие настройки в Visual C++ 2005 необходимо сделать, чтобы проект работал на COM компонентах, которые, хотя бы, использовались в Visual C++ 6.

Очень нужно! А ради одной маленькой программки не хочется ставить Visual Studio 6.

Спасибо большое!
3
30 июня 2006 года
Green
4.8K / / 20.01.2000
Это какие ещё настройки поумолчанию.
При создании проекта ты сам выбираешь, что это будет за проект.
Впрочем, попробуй просто создать проект и все поймешь сам.
725
30 июня 2006 года
UnErase
190 / / 08.06.2006
Я имел в виду настройки проекта! Если ты ни разу не заходил в VS, то там когда создается проект, у него есть свои свойства, в которых настраиваешь проект.

Насколько я помню это Project -> Properties

А если ты не понял вопроса, так и скажи.

А то что ты выбираешь при создании проекта - это на каком языке будешь писать проект и его тип (MFC, ATL, Win32 и т.д.) и по умолчанию все эти проекты используют компоненты (например: текстовое поле, кнопочка, чекбокс и т.д.) находящиеся в .NET Framework`e, а мне нужно чтобы они брались из COM библиотек.

А я спрашивал: как сделать, чтобы проект работал на COM библиотеках, а не на библиотеках .NET Framewоrk?
725
30 июня 2006 года
UnErase
190 / / 08.06.2006
Я не поверю, что никто это не делал.
В VS 2005 по-любому можно такое сделать, а где и как - я пришел спросить на форуме.
350
30 июня 2006 года
cheburator
589 / / 01.06.2006
[QUOTE=UnErase]Все знают что при создании проекта с настройками по умолчанию, в среде Visual C++ 2005, этот проект работает на .NET Framework`e.[/QUOTE]
А что, там нет настроек - управляемый код или неуправляемый код?
Не верю что нет, должны быть, сам в 2003 создавал С++ проект, указывал Unmanaged (или Not managed... ну ты понял :))
11K
30 июня 2006 года
Ireul
90 / / 15.06.2006
Это всё шутка, я надеюсь?
VS2005 по умолчанию создает managed-проекты? чушь. Обычные проекты, никаких managed-подтасовок не заметил...
А уж при работе с COM тем более... в managed просто сама работа с COM происходит СОВСЕМ ИНАЧЕ, и это НЕ откомпилится на VC6. Если же всё делал так же, как в VC6, то о managed речи идти не может, так как по понятиям managed это чистый unsafe - не пропустит если специально не попросить. И если пропускает - значит никакой у тебя не managed. А значит никакой у тебя не .NET
725
03 июля 2006 года
UnErase
190 / / 08.06.2006
Послушайте! Вы наверное меня не так поняли...

Постараюсь еще раз объяснить:

Когда создаю в 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.

Надеюсь вопрос понятен!
Спасибо!
3
03 июля 2006 года
Green
4.8K / / 20.01.2000
[QUOTE=UnErase]
Когда создаю в 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
725
03 июля 2006 года
UnErase
190 / / 08.06.2006
Цитата:
Что ты имел в виду под "MFC проект на C++ c диалогом (визардом)" для меня осталось загадкой

- что имел, то и ввиду...

Ладно, если ты все знаешь, тогда скомпилируй этот проект, скопируй этот exe-шник на дискету (можешь на CD), скопируй на комп где не стоит Microsoft .NET Framework (для большего эффекта запусти на Win98), и запусти этот exe-шник.

Как это сделаешь (еще раз говорю: именно на компе, на кот. не стоит Microsoft .NET Framework), расскажи что у тебя появилось на экране вместо диалога.

И ЕЩЕ РАЗ ГОВОРЮ: ЗАПУСТИ ЭТОТ ЕХЕ-ШНИК НА КОМПЕ ГДЕ НЕ СТОИТ Microsoft .NET Framework!!!

Может тогда ты поймешь о чем я говорил.

P.S. Сразу видно что ты теоретик...

725
03 июля 2006 года
UnErase
190 / / 08.06.2006
Цитата:
Ну раз ты лучше знаешь, убедился на своем опыте, чего ж ты нас спрашиваешь.



Потому и спрашиваю... я спрашивал: как сделать проект в VS2005, чтобы он запускался на компе, где не установлен Microsoft .NET Framework!!!!!

3
03 июля 2006 года
Green
4.8K / / 20.01.2000
Для начала давай договоримся даже не пытаться строить предположения кто я такой, а то я начну рассказывать, что мне видно.

Пытаюсь это сделать раз пять-шесть на дню и всё ок. :D

А ты пытался? Это после Choose Items... ? :D
Ты видишь разницу между ,NET Framework и MFC ?
Видимо нет. И все же попробуй в своем проекте поставить "Use MFC in a Static Library" вместо "Use MFC in a Shared DLL" и будет тебе чудо!
725
03 июля 2006 года
UnErase
190 / / 08.06.2006
Use MFC in a Static Library я ставил всегда...

В Choose Item... я стал заходить какраз после того, как Wind`a на другом компе мне сказала, что не найдены компоненты .NET Framework`a.

И разницу я вижу...
А если у тебя все ок, значит на компе стоит .NET Framework.
Если хочешь, я тебе даже скриншот завтра выложу...
3
03 июля 2006 года
Green
4.8K / / 20.01.2000
Давай ты лучше выложишь минимальную версию проекта.
Ну и конечно, интересно, что у тебя там за сообщение вылазит.
725
03 июля 2006 года
UnErase
190 / / 08.06.2006
Давай! Только завтра.
И запускай его на компе где не установлен Microsoft .NET Framework.
3
03 июля 2006 года
Green
4.8K / / 20.01.2000
Ты только не exe-шник выкладывай, а проект полностью.
725
03 июля 2006 года
UnErase
190 / / 08.06.2006
[QUOTE=Green]Ты только не exe-шник выкладывай, а проект полностью.[/QUOTE]

ОК!
Я и то и др. выложу...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог