Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Visual C++ / MFC / WTL > Проблемы перехода на Visual Studio 2005/2008 с более ранних версий


Автор: Kent_spb 22.02.06, 13:38
Господа.
Давайте в этот топик писать обо всех проблемах перехода на VS 2005/2008
Указывать с какой версии переходили, что за проблема, и способы ее решения.
Или если решение не найдено, задавать вопрос.

2Админы: Если сочтете нужным прикрепите этот топ.

Автор: ViGOur 22.02.06, 22:33
Может тогда проблемы перехода с одной студии на другую, не обязательно на 2005,
за ней ведь наверняка появится и 2006б 2007, ..., 10000 :)

p.s. Хотя ИМХО всех этих проблем не были бы, если бы при написании того же MFC Microsoft иногда посматривало бы в стандарт по C++, а не по С! И хотя бы попыталось усвоить, что такое ООП... :)

Автор: dim_on 09.06.06, 12:16
Пытался собирать проект (созданный в VS2003) в VS2005. Под VS 2003 проект компилился без ошибок (и даже без предупреждений). В 2005-й студии возникло несколько ошибок суть, которых в следующем: вот кусок кода, который вызывает ошибку
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    for(int i = 0; i < 5; i++)
    {
       ...
    }
    for(i = 0; i < 5; i++)
    {
       ...
    }
Ошибка error C2065: 'i' : undeclared identifier в выделенной строке. Исправить это можно конечно просто определив переменную i вне тела 1-го цикла, но хотелось бы узнать почему произошли такие изменения в новой студии и можно ли изменить трактовку компилятором таких фрагментов, на ту, которая была в VS 2003?

Автор: LuckLess 09.06.06, 12:23
Угу.а я наткнулся на то что std::hash_map теперь не в std а в stdext..
решил проблему добавлением
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    namespace std
       {
       using namespace stdext;
       }

что правда не очень хорошо... т.к. по стандарту я не имею право ковыряться в этом namespace - е ..

Автор: Ace 09.06.06, 12:24
Цитата dim_on @
но хотелось бы узнать почему произошли такие изменения в новой студии и можно ли изменить трактовку компилятором таких фрагментов, на ту, которая была в VS 2003?

Она стала больше дружить со стандартом.
А по нему это всегда было ошибкой, и ты рано или поздно должен был получить по рукам за такой код.

Автор: LuckLess 09.06.06, 14:17
Цитата ViGOur @
p.s. Хотя ИМХО всех этих проблем не были бы, если бы при написании того же MFC Microsoft иногда посматривало бы в стандарт по C++, а не по С! И хотя бы попыталось усвоить, что такое ООП... :)

Не только MFC. ATL тоже не безгрешна))
к примеру _Module и __uuidof ----> имена зарезервированные стандартом :P

Автор: Ace 10.06.06, 07:43
Вот ещё:
1) Будьте осторожны - 8 студия не компилирует неиспользуемые участки.
2) Если вы хотите оставить совместимость с предыдущими версиями студий, то вам придётся пользоватся условной компиляцией и делать развилки:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #if _MSC_VER >= 1400
         // Тут используем новые функции crt, с новой политикой безопасности
         // Все новые версии функций crt заканчиваются специальным суффиксом '_s' ("secure")
    #else
         // Тут используем старые функции
    #endif

3) Настоятельно советую почитать раздел "Security Enhancements in the CRT" в MSDN.

Автор: XPiS 11.06.06, 08:30
У всех студий есть некая таинмтвенная бага в реализации спецификации шаблонов, поэтому, например, Foobar SDK компилируется ТОЛЬКО для 2005 студии.

Автор: mo3r 11.06.06, 09:16
Цитата dim_on @
Ошибка error C2065: 'i' : undeclared identifier в выделенной строке. Исправить это можно конечно просто определив переменную i вне тела 1-го цикла, но хотелось бы узнать почему произошли такие изменения в новой студии и можно ли изменить трактовку компилятором таких фрагментов, на ту, которая была в VS 2003?

В свойствах проекта во вкладке c++ language можно убрать галку "for loop conformant scope" (или что-то в этом роде).
А вообще, по стандарту правильно именно такое поведение.

Автор: LuckLess 13.06.06, 08:03
Цитата mo3r @
А вообще, по стандарту правильно именно такое поведение.

Такое - это какое?
Правельнее в 2005-ой без галки..

Автор: Axis 13.06.06, 11:29
По поводу безопасности в VS2005, _s закрывает одни дыры, открывает другие, к примеру если копировался путь с использованием strcpy_s и не скопировался полностью, то поведение программы может быть неизвестно, соответсвенно надо самому проверять длинну строки, что приводит к двойной проверке одних и тех же данных, так что я не вижу смысла в этих функциях.

Автор: Ace 13.06.06, 11:45
Axis, Никаких дыр она не открывает. И не путай защиту на выход за пределы участка памяти, и защиту от нерадивого программера...

Автор: progman 13.06.06, 11:54
у меня одна проблема была при попытке перейти с 6.0 на 2005 - жутко не понравился интерфейс.
злой он там какой то. все привычные по шестерке действия в 2005 совершенно по другому.

Автор: Flex Ferrum 13.06.06, 12:26
Цитата Ace @
// Тут используем новые функции crt, с новой политикой безопасности // Все новые версии функций crt заканчиваются специальным суффиксом '_s' ("secure")

Чем начисто убиваем переносимость кода.

Автор: Hryak 13.06.06, 12:26
Цитата Axis @
если копировался путь с использованием strcpy_s и не скопировался полностью, то поведение программы может быть неизвестно

Тебе надо сильно постараться, чтобы поведение программы стало неизвестным. В частности, написать свою ловушку для неправильных аргументов, в которой ты будешь игнорировать такие вещи.

Автор: Ace 13.06.06, 12:38
Цитата Flex Ferrum @
Чем начисто убиваем переносимость кода.

Ты лучше вместо такого красноречивого утверждения (согласен что можно и убить), опиши варианты ошибочного использования. Чтоб народ понимал, о чем собственно идёт речь.

Автор: Flex Ferrum 13.06.06, 12:43
Цитата Ace @
Ты лучше вместо такого красноречивого утверждения (согласен что можно и убить), опиши варианты ошибочного использования. Чтоб народ понимал, о чем собственно идёт речь.

:) А зачем писать? Можно и погуглить. На предмет, например, strcpy buffer overrun. И там же подсмотреть лекарство - использовать вполне стандартную strncpy. А не strcpy_s, которое никуда не вписывается. Вместо sprintf не sprintf_s, а snprintf. И т. д., и т. п. Вообщем, существует большое количество рецептов лечения, вписывающихся в рамки стандарта, без ввода лишних сущностей.

Автор: Ace 13.06.06, 12:59
Цитата Flex Ferrum @
И там же подсмотреть лекарство - использовать вполне стандартную strncpy....

Эээ...не всё так просто. strncpy и иже с ней тож обьявленны вне закона по новой политике ;)

Автор: Flex Ferrum 13.06.06, 13:06
Цитата Ace @
strncpy и иже с ней тож обьявленны вне закона по новой политике

Кем? Коммисией по стандартизации? Или компанией Microsoft?

Автор: Ace 13.06.06, 13:19
Цитата Flex Ferrum @
Кем? Коммисией по стандартизации? Или компанией Microsoft?

Мы тут обсуждаем vs2005 студию? Она продукт Microsoft?

Автор: dim_on 15.06.06, 09:24
Собираю мфц проект, в который кроме всего прочего включен заголовок odbcss.h. При компиляции выдается ошибка
Цитата

C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\odbcss.h(430) : error C2371: 'WCHAR' : redefinition; different basic types
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(266) : see declaration of 'WCHAR'

Соответсвенно строки из хэдэров, указанных в сообщении об ошибке.
odbcss.h(430)
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    typedef char            DBCHAR;
, где DBCHAR это WCHAR

winnt.h(266)
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    typedef wchar_t WCHAR;    // wc,   16-bit UNICODE character


В 2003 студии проект компилился нормально.

Автор: Ace 15.06.06, 09:36
8ка при создании проекта по умолчанию ставит уникод

Автор: dim_on 15.06.06, 09:42
Цитата Ace @
8ка при создании проекта по умолчанию ставит уникод

Я проверял, Character Set = Use Multi-Byte Character Set.

Автор: Axis 15.06.06, 11:39
У меня widechar ставить по умолчанию.

Автор: dim_on 15.06.06, 13:12
Я конвертил проект от 2003 студии. А в нем multi-byte стояло.
Все таки странно, что раньше такой ошибки не было. Может хедеры обновились так координально?

Автор: UncleBob 18.06.06, 09:35
M
Ребят, давайте по делу. Кому что понравилось/не понравилось - это в Сопутствующие вопросы

Здесь рассматриваются только проблемы. Это - прикрепленный топик, а поэтому оффтоп буду жестко пресекать. Считайте это предупреждением.

Автор: mad_avenger 05.07.06, 01:56
Проблема: VS2003 нормально работала под Windows XP SP0-SP1. 2005-я требует Windows XP SP2!
Мне есчессна, лень переставлять винду из исходного состояния и качать апдейты т.к. комп к нету не подключен. Программер должен работать, а не винду переустанавливать. И по-моему Майкрософтовцы это специально сделали, чтоб свою винду глубже на рынок продвигать. :angry:

Автор: UncleBob 05.07.06, 16:24
Цитата mad_avenger @
Проблема: VS2003 нормально работала под Windows XP SP0-SP1. 2005-я требует Windows XP SP2!

Это не проблема, а объективная реальность. .NET Framework 2.0 не встанет на XP, где нет SP2. Но спокойно работает под теми же W98, поэтому

Цитата mad_avenger @
И по-моему Майкрософтовцы это специально сделали, чтоб свою винду глубже на рынок продвигать

не более чем домыслы

Автор: takedo 07.07.06, 06:48
а я не смог перекомпилировать проект из 2003 в 2006 :huh: Всю дорогу какие то ошибки. У меня правда там очень много ресурсов и строк 40 тыс. Поэтому оставил пока две студии(да и проект то в принципе закончен). Но все равно не нравится такая плохая переносимость.

Добавлено
в 2005

Автор: Red Devil 11.07.06, 04:38
Никак не могу вьеъать где в 2005 студии прописывать дополнительные lib'ы. atl+f7, вкладка link, но не вижу я окна ввода для этого там.
Не вижу tree view для классов и его методов, его убрали?

Автор: dim_on 11.07.06, 05:35
Цитата Red Devil @
Никак не могу вьеъать где в 2005 студии прописывать дополнительные lib'ы. atl+f7, вкладка link, но не вижу я окна ввода для этого там.

Project...Properties...Configuration Properties...Linker...Input...Additional Dependencies

Цитата Red Devil @
Не вижу tree view для классов и его методов, его убрали?

View...Class view

Автор: mad_avenger 22.07.06, 10:45
Проблема... Когда ввожу CreateFile(... , не высвечивается сообщение с параметрами функции. Приходится вводить CreateFileA(... Тогда все нормально. Видать, среда коряво работает.

Автор: pragman 02.08.06, 12:47
Дикое отсутствие приведения типов. Даже имеющиеся примеры из MSDN'а 2005 в этой же студии не работают. Если бока у меня сообщите, плс, как фиксится.

Автор: Hryak 02.08.06, 15:51
Цитата pragman @
Дикое отсутствие приведения типов. Даже имеющиеся примеры из MSDN'а 2005 в этой же студии не работают. Если бока у меня сообщите, плс, как фиксится.

Не надо ничего фиксить.
Примеры в MSDN - древние по большей части, да и рассчитаны на компиляцию в C (C90, если быть точным). Приводи типы явно и не парься.

Автор: oksman 05.08.06, 21:49
Цитата dim_on @
Цитата Red Devil @
Никак не могу вьеъать где в 2005 студии прописывать дополнительные lib'ы. atl+f7, вкладка link, но не вижу я окна ввода для этого там.

А где прописывать пути к инклюде в Properiti или Tool

Автор: dim_on 07.08.06, 05:30
Цитата oksman @
Цитата (dim_on @ 11.07.06, 05:35)
Цитата (Red Devil @ 11.07.06, 04:38)
Никак не могу вьеъать где в 2005 студии прописывать дополнительные lib'ы. atl+f7, вкладка link, но не вижу я окна ввода для этого там.

А где прописывать пути к инклюде в Properiti или Tool

Project...Properties...Configuration properties...C/C++...General...Additional Include Directories

Автор: Dagdbog 08.08.06, 04:57
Всем привет! У меня вот какой вопрос: у меня сейчас есть проект, который создан в 2005 студии. Есть ли какие нить переконвертаторы (:)) которые могли создать файлы проекта для 2003 студии ?
Уточняю: т.е некая софтина, которая могла бы конвертировать проекты из 2005 студии в 2003 и обратно. Может сама студия сие умеет - токма я не могу понять как сие сотворить! :wall:

Автор: miksayer 08.08.06, 15:49
Цитата Dagdbog @
Всем привет! У меня вот какой вопрос: у меня сейчас есть проект, который создан в 2005 студии. Есть ли какие нить переконвертаторы (:)) которые могли создать файлы проекта для 2003 студии ?
Уточняю: т.е некая софтина, которая могла бы конвертировать проекты из 2005 студии в 2003 и обратно. Может сама студия сие умеет - токма я не могу понять как сие сотворить! :wall:

а зачем?

Автор: oksman 08.08.06, 16:25
Цитата dim_on @
Цитата oksman @



А где прописывать пути к инклюде в Properiti или Tool

Project...Properties...Configuration properties...C/C++...General...Additional Include Directories

Благодарю. :D

Автор: Dagdbog 10.08.06, 04:28
Цитата miksayer @
Цитата Dagdbog @
Всем привет! У меня вот какой вопрос: у меня сейчас есть проект, который создан в 2005 студии. Есть ли какие нить переконвертаторы (:)) которые могли создать файлы проекта для 2003 студии ?
Уточняю: т.е некая софтина, которая могла бы конвертировать проекты из 2005 студии в 2003 и обратно. Может сама студия сие умеет - токма я не могу понять как сие сотворить! :wall:

а зачем?

Хм.. Нужно! Ответ устраивает ?:)

Автор: Budda 11.08.06, 10:53
Вопрос в тему изложен здесь: unresolved external symbol. Если решится, можно будет выводы "сюда" включить.
Посмотрите, плиз.

Автор: vint 21.08.06, 14:04
Цитата Dagdbog @
Всем привет! У меня вот какой вопрос: у меня сейчас есть проект, который создан в 2005 студии. Есть ли какие нить переконвертаторы (:)) которые могли создать файлы проекта для 2003 студии ?
Уточняю: т.е некая софтина, которая могла бы конвертировать проекты из 2005 студии в 2003 и обратно. Может сама студия сие умеет - токма я не могу понять как сие сотворить! :wall:

Открываешь файл *.vcproj блокнотом и меняешь строчку
Цитата
Version="8,00"

на
Цитата
Version="7,10"

Автор: Flex Ferrum 24.08.06, 14:14
Цитата vint @
Открываешь файл *.vcproj блокнотом и меняешь строчку

Аналогично для .sln-файла.

Автор: VanoPro 09.09.06, 10:39
Интересно, можно ли подключить MSDN из Microsoft Visual C++ 2005 Express Edition к Microsoft Visual Studio 2005 Standart Edition?

Автор: mad_avenger 12.09.06, 05:57
Полное отсутствие документации по багам студии, как это было в шестой версии.

Автор: DJ-Andrey-sXe 14.09.06, 12:25
О! А я как раз не так давно статейку написал по теме. Прошу прощения, что не читал топик, быть может многое повторю, но всё же: вот статья
http://dj-andrey.ru/articles/visual-cpp-2005-migration

Автор: Budda 14.09.06, 12:47
2DJ: Почитал твою статью, увидел несколько знакомых букв... подумал, что, возможно, ты сможешь помочь с этим: unresolved external symbol разобраться? Как я понимаю, та же проблема с уходом от однопоточности... ругается на либу libcmt.lib... но в проекте в явном виде она нигде не видна... не подскажешь, как решить проблему?

Заранее спасибо.

Автор: Starshoy 26.09.06, 08:30
А у меня такой скромненький вопросик: в MVS2003 есть такая функция: FindWindow (по умолчанию в проекте ATL), а в 2005 её куда запихали???

Автор: vint 26.09.06, 13:20
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    FindWindowA
    FindWindowW

Автор: vint 27.09.06, 06:21
Теперь у меня возник скромный вопрос: А что случилось с AfxConnectionAdvise и AfxConnectionUnadvise ???

Автор: Starshoy 27.09.06, 06:52
и у меня опять вопрос: что этой "суперпроге" не нравиться в этом:
HWND w; ??? >:(

Автор: Denny 27.09.06, 07:59
У меня не работает edit and continue. Если под отладкой изменить код и продолжить отладку, получаю сообщение "This source file has changed. It no longer mathes of the file used to build the application being debugged." И отладка продолжается по старому коду.

Автор: hummy 06.10.06, 07:40
Цитата
Специалисты Microsoft объявили, что старые версии среды разработки
Visual Studio, вышедшие до Visual Studio 2005, нельзя будет использовать
в Windows Vista. В частности, в Vista не смогут работать Visual Studio
2002 и Visual Studio 2003. Как объясняют в Microsoft, для полного
использования возможностей новых компонентов операционной системы, таких
как Windows Presentation Foundation, Aero и Glass, потребуются и более
современные средства разработки. Тем не менее программы, работающие в
Vista, можно будет создавать в старых версиях Visual Studio,
функционирующих под управлением Windows XP. Сообщается также о вероятных
проблемах совместимости при использовании Visual Studio 2005 Service
Pack 1 в новой ОС, выражающихся в невозможности регистрации компонентов,
запускаемых из командной строки. После начала продажи Vista в розницу в
Microsoft собираются выпустить обновленную версию Visual Studio, в
которой указанная проблема будет устранена.


http://www.osp.ru/text/685552/3146645/

Автор: B.V. 07.10.06, 00:04
Нет слов :wacko:

Автор: CYBEREX 07.10.06, 07:48
1. Вопрос.

Раньше при создании диалога можно было вставить функцию OnInitDialog()

Теперь как это сделать?

Точнее куда это засунули!!!

Автор: Hryak 07.10.06, 07:59
Цитата CYBEREX @
Точнее куда это засунули!!!

Правой кнопкой мыши по имени класса диалога в Class View / Properties / Overrides / OnInitDialog.

Автор: Nik0lay 10.10.06, 17:28
Всем здрасьте!
Не ругайте нас глупых, но есть пара вопросов.
Пытаюсь перелезть с Delphi7 на Visual C, а точнее Visual C 2005 (Visual Studio 2005).
Никак не вьезжаю, готовая программа работает только с устанновленным .NET Framework 2.0 ?
Ну я понимаю, что у меня она так и так должна стоять, но там где будет использоваться моя программа ее может и не стоять (а скорее всего точно не будет). Это что, к проге еще довесок делать в 20 мег.. апупеть..
Тут была необходимость изменить всего одно(!!!) число в проекте от VC6 и все, больше не работает нигде кроме моего компа :) Ошибка типа того что приложение настроено неправильно (привязка к side-by-side, а тап похоже и к framework и понеслось)
Может эта студия 2005 полностью расчитана на .NET Framework ? Я конечно понимаю что куча полезных фич но все же...
А если мне подребуются визальные компоненты? Они уж точно только на .NET Framework.

Ищу Visual Studio 6, пока безуспешно.


Поможите братцы, только вот начал разбираться с этой студией и сплошные обломы.

Автор: Budda 10.10.06, 17:51
Если твой проект написан в 6й студии (и работал без .NET), то после изменения этого числа и перекомпиляции проекта он тоже должен работать без .NET

2005я студия может писать программы и без .NET, на обычном (native) C++

Автор: Nik0lay 10.10.06, 18:01
Не хочет работать.. к сожалению факт...

Автор: Nik0lay 11.10.06, 05:02
хм.. как гдето уже советовали Use MFC in a Static library помогло.
Но опять таки... исходная программа скомпилированное в VC6 занимала 65 кб, а теперь 400кб
Где интересно собака порылась?

Автор: miksayer 11.10.06, 17:40
Цитата Nik0lay @
хм.. как гдето уже советовали Use MFC in a Static library помогло.
Но опять таки... исходная программа скомпилированное в VC6 занимала 65 кб, а теперь 400кб
Где интересно собака порылась?

теперь тебе не надо будет с прогой таскать библиотеки MFC

Автор: Nik0lay 14.10.06, 06:21
2miksayer: ага, я так и понял. Без фреймворка работает, что и хотел.

Но что то мне подсказывает что при статике сует в приложение вообще все нужные ему библиотеки, а разве хотябы часть этих библиотек не сидит уже в системе? Или я ошибаюсь?

Автор: miksayer 15.10.06, 19:10
Цитата Nik0lay @
Но что то мне подсказывает что при статике сует в приложение вообще все нужные ему библиотеки, а разве хотябы часть этих библиотек не сидит уже в системе? Или я ошибаюсь?

вроде как нет

Автор: luciferOFF 26.10.06, 09:14
Паривет всем.
пытаюсь перенести проект из 2003-й студии в 2005 - ю. вылетаеют ошибки при компиляции stdafx.cpp.
Ругается на
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    include\winnt.h(222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
    include\winnt.h(222) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    include\winnt.h(5940) : error C2146: syntax error : missing ';' before identifier 'Buffer'
    include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int


привожу содержимое данных строк в winnt.h
222 - typedef void * POINTER_64 PVOID64;
5940 - PVOID64 Buffer;

Подскажите. В чём проблема?

Автор: MAXvalL 31.10.06, 15:26
У меня проблема перехода с VS6.0 на VS2003

Раньше работало так
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #include <iostream.h>
     
    void main(void)
    {
        cout << "Hello world!" << flush;
    }


Теперь iostream.h зачем-то переименован в iostream, ну да это ничего, но если компилить такое:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #include <iostream>
     
    void main(void)
    {
        cout << "Hello world!" << flush;
    }


Говорит, мол, не знаю я что такое cout и все тут!
В чем трабла?

Автор: Budda 31.10.06, 15:40
MAXvalL: наверняка нужно писать std::cout (или предварительно using namespace std;), и возможно нужно другой хидер.

Автор: MAXvalL 31.10.06, 21:32
Цитата Budda @
MAXvalL: наверняка нужно писать std::cout (или предварительно using namespace std;), и возможно нужно другой хидер.

Это тебе не MFC! Этож стандартная библиотека C++! А какой другой? :o

Автор: mad_avenger 01.11.06, 10:53
Во: если при дебаггинге программы в процессе работы нажать кнопочку [Pause ||], то строка останова не подсвечивается. Лазь теперь программер по модулям, ищи свою строчечку...
(вообще у меня какой-то смертельно глючный пиратский дистрибутив VS2005 4 SQL Developers, в котором и без этого глюков хватает)

Автор: Budda 01.11.06, 11:20
MAXvalL при чём тут MFC? Библиотека то стандартная, но нужно указать компилятору, что юзать нужно именно её. Теперь (или может и всегда так было не знаю, сам STL юзаю меньше года) функции этой библиотеки вынесены в namespace std. А хидер я имел ввиду там <string>, или <sstream> - мало ли какие ты функции юзать станешь... :)

Цитата
если при дебаггинге программы в процессе работы нажать кнопочку [Pause ||], то строка останова не подсвечивается. Лазь теперь программер по модулям, ищи свою строчечку
а ты нажимай Shift+F11 до тех пор, пока точка выполнения не выползет в нормальные процедуры (т.е. в те, у которых есть исходники).

Автор: SOLON7 04.11.06, 07:01
В функциях обработчиках на которые реагирует ON_MESSAGE() теперь надо чтобы функция обработчик возвращала что-нибудь. Опять ребята из мс передалали прототип вызова функции.

Error C2440: 'static_cast' : cannot convert from 'void (__thiscall CDataDlg::* )(WPARAM,LPARAM)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'.

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM) //Прототип обработчика сообщений.


То есть за место этого кода:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    void CDataDlg::OnIcon(WPARAM wp, LPARAM lp)
    {
        if (lp==515) ShowWindow(SW_RESTORE);
    }


должен быть следующий..
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    int CDataDlg::OnIcon(WPARAM wp, LPARAM lp)
    {
        if (lp==515) ShowWindow(SW_RESTORE);
        return 1;
    }

Автор: Hryak 04.11.06, 07:29
Цитата SOLON7 @
Опять ребята из мс передалали прототип вызова функции.

Прототип никто не переделывал - как метод возвращал LRESULT, так и возвращает. Просто некоторый народ пишет, не смотря на документацию - написано ведь, что должен возращать LRESULT, так нет, void лепят.
А сейчас это не проходит, потому что ребята из M$ ужесточили контроль над типом прототипа ( :) ) при использовании ON_MESSAGE.
И это правильно, т.к. раньше в ON_MESSAGE можно было передать обработчик с десятью параметрами или вообще от чужого класса.

Автор: SOLON7 04.11.06, 17:23
ГММММ.. <_< <_< <_< Не знал.... А где ужесточили в линкере?????

Автор: Hryak 04.11.06, 17:28
Цитата SOLON7 @
А где ужесточили в линкере?????

Да не. В компиляторе. Юзалось reinterpet_cast(неявно), теперь заюзалось static_cast. Отсюда и ужесточение...

Автор: SOLON7 04.11.06, 17:29
Такая оперативность заслуживает +.

Автор: Nuller 20.11.06, 22:35
Цитата Nik0lay @
Но опять таки... исходная программа скомпилированное в VC6 занимала 65 кб, а теперь 400кб
Где интересно собака порылась?

Debug / Release ?

Автор: Genior 13.12.06, 06:07
Попытался перейти на VS2005 c VS2003, перестала находить dsound.h. И на самом деле он есть только в компиляторе для PocketPC. В предыдущих студиях этой проблемы не было. Счас жду DirectSound SDK может поможет.

Автор: Attila 22.12.06, 17:03
Написал простенькую консольную прожку на чистом C++ без использования лидерских библиотек. Почему-то на каких-то компах (например, моём) программа выполняется без проблем. А на каких-то компах вообще не запускается...

Можно это как-то объяснить и исправить?

Автор: alexander.stoyan 22.12.06, 17:16
Цитата Attila @
Написал простенькую консольную прожку на чистом C++ без использования лидерских библиотек. Почему-то на каких-то компах (например, моём) программа выполняется без проблем. А на каких-то компах вообще не запускается...

Можно это как-то объяснить и исправить?

как-то подобное было. знаю токо, что причина была в манифесте. долго не стал долбаться - перенёс исходник на проэкт созданный по дефолту и всё пошло как по маслу. а ващще, лучше не ставить /NODEFAULTLIB - меньше проблем :)

Автор: MuratMusic 30.12.06, 21:51
Цитата dim_on @
Пытался собирать проект (созданный в VS2003) в VS2005. Под VS 2003 проект компилился без ошибок (и даже без предупреждений). В 2005-й студии возникло несколько ошибок суть, которых в следующем: вот кусок кода, который вызывает ошибку
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    for(int i = 0; i < 5; i++)
    {
       ...
    }
    for(i = 0; i < 5; i++)
    {
       ...
    }
Ошибка error C2065: 'i' : undeclared identifier в выделенной строке. Исправить это можно конечно просто определив переменную i вне тела 1-го цикла, но хотелось бы узнать почему произошли такие изменения в новой студии и можно ли изменить трактовку компилятором таких фрагментов, на ту, которая была в VS 2003?

Кажется, у Герберта Шилдта читал, что если переменная счётчик объявляется так for (int i=0; i<.....), то область её видимости гарантируется только внутри тела цикла.

Впрочем Ален Голуб в правилах программирования вообще не рекомендует так объявлять счётчик (кажется он там утверждает о неэффективности генерируемого кода в случае for (int i=0;...) объявления)

Автор: floodway 31.12.06, 00:10
Перенес проект из 2003 в 2005. Компилится нормально, но при запуске лажа: "... Access violation reading location 0x30000000".
Call Stack:

ntdll.dll!7c9012b4()
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
kernel32.dll!7c80e2c5()
kernel32.dll!7c80b53c()
my.exe!CDllIsolationWrapperBase::GetModuleHandleA() Line 199 C++
my.exe!CComCtlWrapper::GetProcAddress_InitCommonControlsEx() Line 241 + 0x13 bytes C++
my.exe!_AfxInitCommonControls(tagINITCOMMONCONTROLSEX * lpInitCtrls=0x0012fc24, long fToRegister=16320) Line 4411 + 0x15 bytes C++
my.exe!AfxEndDeferRegisterClass(long fToRegister=16) Line 4497 + 0x15 bytes C++
my.exe!CWnd::CreateDlgIndirect(const DLGTEMPLATE * lpDialogTemplate=0x0047fb78, CWnd * pParentWnd=0x00000000, HINSTANCE__ * hInst=0x00400000) Line 260 C++
my.exe!CDialog::DoModal() Line 536 + 0x14 bytes C++
my.exe!CmyApp::InitInstance() Line 106 C++
my.exe!AfxWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00151f14, int nCmdShow=1) Line 37 + 0x7 bytes C++
my.exe!__tmainCRTStartup() Line 315 + 0x1c bytes C
kernel32.dll!7c816d4f()
kernel32.dll!7c8399f3()

Сколько перерыл всего и наткнулся на зависимость от "Code Generation | Struct Member Alignment". Мне нужно "1 Byte", что собсно и было (осталось от vs2003). При default проблем как бы нет, пока я не вызову код зависящий от align=1. Корежить сорцы прагмами не могу.
Для сравнения: создаю подобный проект (чистое дитя 2005-ой) - проблемы нет: хоть "1 byte" хоть дефолт.
Явно в моем проекте что-то не так, но что? Исодники, естественно, не менялись.

А теперь фокус вообще: ставлю "1 байт" (/Zp1) + "use MFC in shared DLL" - работает! а если тоже самое, но слинкую статически - выше описанная тарбла :(

Автор: MuratMusic 01.01.07, 21:47
Интересует, если я снесу VS.NET 2002 и захочу поставить VS 2005:

1. Потребуются ли какие-нибудь сервис паки для Windows 2003 Server (никаких сервис паков я не ставил, с VS 2006 и MSDN 2006 установка не получилась именно из-за отсутствия сервис-паков)

2. Намного ли больше в мегабайтах студия 2005 (нужны только VC++ и VC#, у меня они из 2003 студии занимают вместе 618 Mb, не учитывая отдельный размер MSDN)

3. Намного ли эффективнее генерируемый код в VC++ 2005 для чистых WIN32 API приложений (без MFC и т.п. библиотек, где WinMain явно вносится в код руками) по сравнению с VC++ 2002 или VC++ 6.0?

Автор: g_roman 15.01.07, 08:50
У кого-нибудь получалось установить VS 05 на систему на которую ее по умолчанию установить нельзя ?
Прежде всего интересует win 2003 server. Там вроде нужен то ли 2-ой, то ли 1-ый SP и без него программа установки отказывается устанавливать студию.
Что-то гугл ничего на эту тему ничего не говорит.

Автор: UncleBob 15.01.07, 09:12
Цитата MuratMusic @
1. Потребуются ли какие-нибудь сервис паки для Windows 2003 Server (никаких сервис паков я не ставил, с VS 2006 и MSDN 2006 установка не получилась именно из-за отсутствия сервис-паков)


Цитата
Visual Studio 2005 can be installed on any of the following systems:
Microsoft® Windows Server™ 2003, Standard Edition SP1
Microsoft® Windows Server™ 2003, Enterprise Edition SP1
Microsoft® Windows Server™ 2003, Datacenter Edition SP1
Microsoft® Windows Server™ 2003, Web Edition SP1
Microsoft® Windows Server™ 2003, Standard x64 Edition SP1 (WOW)
Microsoft® Windows Server™ 2003, Enterprise x64 Edition SP1 (WOW)
Microsoft® Windows Server™ 2003, Datacenter x64 Edition SP1 (WOW)
Microsoft® Windows Server™ 2003 R2, Standard Edition
Microsoft® Windows Server™ 2003 R2, Standard x64 Edition (WOW)
Microsoft® Windows Server™ 2003 R2, Enterprise Edition
Microsoft® Windows Server™ 2003 R2, Enterprise x64 Edition (WOW)
Microsoft® Windows Server™ 2003 R2, Datacenter Edition
Microsoft® Windows Server™ 2003 R2, Datacenter x64 Edition (WOW)



Цитата MuratMusic @
2. Намного ли больше в мегабайтах студия 2005 (нужны только VC++ и VC#, у меня они из 2003 студии занимают вместе 618 Mb, не учитывая отдельный размер MSDN)

Примерно так же, + фреймворк 2.0


Цитата MuratMusic @

3. Намного ли эффективнее генерируемый код в VC++ 2005 для чистых WIN32 API приложений (без MFC и т.п. библиотек, где WinMain явно вносится в код руками) по сравнению с VC++ 2002 или VC++ 6.0?

ИМХО не сильно

Автор: Budda 15.01.07, 10:02
Цитата MuratMusic @
у Герберта Шилдта читал, что если переменная счётчик объявляется так for (int i=0; i<.....), то область её видимости гарантируется только внутри тела цикла

а я такое же читал у страуструпа и он именно так и рекомендует делать. Это стандарт С++ (3я редакция). Вот мелкософтовский С++ стал ближе к стандарту.

Добавлено
Цитата g_roman @
Прежде всего интересует win 2003 server. Там вроде нужен то ли 2-ой, то ли 1-ый SP и без него программа установки отказывается устанавливать студию.

2го сервис пака вроде нет, а первый у меня тоже требовался... я не парился и поставил его. ИМХО: сервис паки желателно ставить без раздумий.

Автор: MuratMusic 15.01.07, 10:45
Цитата Budda @
2го сервис пака вроде нет, а первый у меня тоже требовался... я не парился и поставил его. ИМХО: сервис паки желателно ставить без раздумий.

Интересует, если Win2003 Server русифицирован, то насколько рискованно его пропатчивать сервис-паком для англ. версии?

Автор: UncleBob 15.01.07, 16:37
Цитата MuratMusic @
Интересует, если Win2003 Server русифицирован, то насколько рискованно его пропатчивать сервис-паком для англ. версии?

Я боюсь, не пропатчится в принципе.

Автор: MuratMusic 15.01.07, 19:30
А можно его в английском варианте вначале пропатчить сервис-паком, а потом рискнуть русифицировать? Вообще насколько легко сейчас найти сервис-паки в киосках и подземных переходах? Я в Новосибирске пока не находил, но правда и не спрашивал на каждом углу.

Автор: Vladimir_ 24.01.07, 08:11
Сейчас работаю на VC 7.0. Стоит ли переходить на новую версию?
Если да, то на какую чтобы меньше было проблем с переносимостью. Обновлять или переустанавливать?
И еще. У меня Spy++ не запускается - сразу вылетает в ошибку. Переустановка среды не помогла.

Автор: rambotnik 24.01.07, 08:35
Помогите пожалуйста решить проблему!
Как включить профилирование в Visual Studio .NET 2003/2005?
Для тех кто, может быть, не понял вопроса объясняю что профилирование это такая возможность узнать различную информацию о процессе выполнения твоей програмы(время выполнения функций, количество выделеной памяти...). В Visual Studio 6 такая возможность есть а в VS .NET 2003/2005 я не смог найти как её включить.

Помогите! Буду благодарен за любую информацию.

e-mail: andreytsb@ukr.net

Автор: .alex 02.02.07, 06:29
Пытаюсь запустить прогу собраную в 2005ой студии на компе где она не стоит, вылазит ошибка:
Цитата

Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему.

Я как понимаю ему хочется новые mfc'шные длл, только какие он не пишет... Или на что она ругается?

Автор: .alex 02.02.07, 07:35
Короче сделал статическую линковку, все заработало....

Автор: MuratMusic 02.02.07, 07:39
Да, статическая линковка самое то. К сожалению Visual Studio 2005 Standard Edition (за 8170 рублей официально) компилирует MFC-приложения без статической линковки. А Professional Edition уж шибко дорогая (22 с лишним тысячи рублей).

Автор: .alex 02.02.07, 07:49
А кто-нить знает какие либы ему нужны для простого МФЦшного приложения? Можно конечно в IAT позырить, но что-то неохота...

Автор: Budda 02.02.07, 09:12
уж очень оффтопиком попахивает. Уверен, что большинство вопросов (последние 5-6 постов) можно было бы смело вынести в отдельные топики :whistle:

Автор: Vince Carter 02.02.07, 09:52
Народ извиняюсь за глупый вопрос но какие параметры компа должны быть для нормальной работы VS 2005? Слышал очень жрет ОЗУ и проц. Хватит ли Cel 2400 и гига?

Автор: bullet 02.02.07, 10:10
Вполне. У меня пень 1.8 и 512 ОЗУ и работает нормально!

Автор: ershovdz 16.02.07, 14:25
Цитата .alex @
Пытаюсь запустить прогу собраную в 2005ой студии на компе где она не стоит, вылазит ошибка:
Цитата

Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему.

Я как понимаю ему хочется новые mfc'шные длл, только какие он не пишет... Или на что она ругается?

Нужно с ехе файлом положить msvcr80.dll, msvcp80.dll, mfc80.dll, msvcm80.dll, Microsoft.VC80.MFC.manifest, Microsoft.VC80.CRT.manifest, все можно взять в папке VS2005\VC\redist\

Автор: YETI 21.02.07, 10:54
Я на 2005 не перейду! Там нету HelpWorkshop, а html меня заколебал :lool:

Автор: rs4i 22.02.07, 04:55
Работал в VC++6.0 потом в C++Builder теперь в VC++2005
Были проблемы с непривычностью интерфейса, но пожалуй, он стал лучше.
Также навязывание Unicode'а не понравилось.
Среда заметно тормозит, хотя у меня не слабая машина.

Основной проблемой у меня стал dotNet.
Проблемма до сих пор открыта.
Платформа интересная, удобная, и явно более продуманная чем Win32Api.
Однако мне нужен классический C++ который платформа dotNet не поддерживает.
(не путать с Managed C++ от Microsoft)

Программы созданные этой средой упорно не хотят работать без dotNet'а
Об этом писали: Nik0lay, Attila, .alex
Приложение не было запущено, поскольку оно некорректно настроено.
Повторная установка приложения может решить данную проблему.
Решает данную проблему установка dotNet'а
Проект MFC со статической линковкой тоже без проблем переносится.
Но это только часное решение проблеммы.
Кроме того, статическая линковка не есть хорошо!
Я не могу запустить без dotNet'а проект Win32Api.
Причем если стартовать программу, а потом снести dotNet,
она прекрасно продолжает работать.

Дамы и господа, кто-нибудь знает как
собрать в VC++2005 и запустить без dotNet'a
следующую консольную программу:

#include <iostream>
int main()
{
std::cout << "Hello, World!\n";
}

Автор: rs4i 22.02.07, 06:11
Прочитал внимательно сообщение ershovdz
И действительно добавление файлов:
msvcp80.dll
msvcr80.dll
Microsoft.VC80.CRT.manifest
решает проблему.

Автор: .alex 22.02.07, 11:29
А кто-нибудь ставил Sp1 на VS2005?

Автор: mikityak 25.02.07, 14:17
:blink: Вот и скажвте стоит-ли паритса..
:whistle: В долги залезла, даёт деньги за найденые ошыпки !
:wub: А не проще зделать паузу (не-програмить) подождать когда
загнетса етот "MICROSOFT" -сам! И зачем забивать свой череп свякой эрундой..
2003 работает 2005 нет! :lool:

Добавлено
;) Забыл написать (штобы не удалили) моя проблема при переходе ет-етот
Framevork XX я себе представил прихожу к другу и накладиваю ему пол компа штобы
запустить прогу ! ;)

Добавлено
:yes: А если серезна то у миня много знакомых которые используют комп только для конкретной цели (Обробка видео, разработка наружной рекламы) у них ни каких
игрушек не стоит, у одного спецыально анг.виндовс так как мол на руском может глючит.. Так вот ониб меня точно убилиб еслиб узнали што я чорт знает сколько мегабайт установил на ихний комп ТЕМ БОЛЕ ШТО НЕ СМОГБЫ ТАК ПРОСТО ИХ УДАЛИТЬ!
(без переустановки ОС)

Автор: Genior 01.03.07, 07:26
Попытался перестроить проект под VS2005, не находится dsound.h
И его точно нет! Подскажите, что делать? Поставить DirectX SDK?

Автор: CBP 01.03.07, 21:24
Цитата Genior, 01.03.07, 9:26:01, 1469376
Попытался перестроить проект под VS2005, не находится dsound.h
И его точно нет! Подскажите, что делать? Поставить DirectX SDK?

Да. Или взять хидеры (и либы) из VS2003.

Автор: Diten 07.03.07, 14:03
Здравствуйте. Я новичек и в VS, и в C++.
Появилась необходимость написать консольное приложение на VS2005 по платформу Win32 (без .Net).
Создаю новый проект: Visual C++ ->Win32 Console Application -> Empty project. Создаю новый модуль и впечатываю, например, это:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #include <iostream>
    int main()
    {
    std::cout << "Hello, World!\n";
    }

VS создает ехе, но он не запускается без .Net. Пишет:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему.

Что делать?
Читал где-то, что можно сделать так: зайти в свойства проекта, general -> Use of MFC изменить на Static. Теперь программа запускается без .Net, но ехе файл весит 600кб. Т.е. это не совсем хорошее решение. Таскать за программой "Hello World" какие-то ненужные библиотеки тоже не лучшее решение.

Автор: Devilguard 10.03.07, 15:57
Недавно перешел под 2005 с 6-ки.
Вот такой странное поведение заметил.
Если открыть проект через файл *.vcproj - то после rebuild вылезают ошибки - cannot locate mfc80d.dll .. etc. Если их скопировать из папки %VS% - точный путь лень писать, чего-то там redist, если их скопировать тот там выдает ASSERT - по отладчику выходит на строку CHECK_MANIFEST_RT - или что-то похожое. Манифесты я тоже скопировал из той папки откуда и dll.

А если открывать файл solution и делать rebuild - то все хорошо. Никаких dll копировать не нужно, сам все видит. Из-за чего так происходит мне соверешенно непонятно. Видимо проблема с переменными окружения какие-то, но тогда остается вопрос, почему при копировании нужных dll и манифестов приложение всеравно сыпется на том ASSERT, который я выше описал.

Хочу обратить внимание на
Цитата
Если открыть проект через файл *.vcproj - то после rebuild

Если до этого делать rebuild в через открытие solution, то при обычном build в vcproj все будет нормально, до тех пор пока именно через открытый vcproj не сделаешь rebuild.

система : xp sp 2, vs 2005 sp 1.

Почему так происходит ?

Автор: Devilguard 13.03.07, 06:49
Так и не понял из-за чего эта хрень, но последствия лечится отключением embed manifest или generate manifest.

Автор: evGenius 19.03.07, 09:49
Цитата Avreliy @
хочет, судя по help'у,

Да нет, батенька, как раз 2 параметра он хочет. И проблема не связана с переходом на 2005, т.к. вы начинаете с нуля, а не с более ранней версии.

Автор: evGenius 19.03.07, 09:57
Пжалста
Книжки вам бы почитать.

Автор: Scad 23.03.07, 21:37
Проблема при регистрации ActiveX компонентов.
Project : error PRJ0050: Failed to register output. Please ensure you have the appropriate permissions to modify the registry.
Сижу под админскими правами... тот же самый компонент в 2003 компилируется и регистрируется на "УРА"
Если делать руками, через regsrv32 получаю ошибку
"Ошибка при вызове LoadLibrary(mydllname.dll) Не найден указанный модуль"
Что делать?

Автор: Scad 25.03.07, 19:26
Все разобрался. Всем спасибо за помощь...

Автор: wdk 04.04.07, 19:40
Есть такая редкая, но неприятная бага, когда cpp-шные проекты 2005 студия компилит раз через десять, ругаясь "Error result 1 returned from 'C:\WINDOWS\system32\cmd.exe'". Долго искал как это вылечить, нашёл кое-как: В свойствах проекта Configuration Properties -> Manifest Tool -> Input and Output -> Embed Manifest ставим в No.
Может кому пригодится.

Автор: Red XIII 12.04.07, 09:53
Всем, у кого "Приложение не было запущено, поскольку оно некорректно настроено." читать здесь.

Цитата
Visual C++ 2005 supports a new deployment model for Windows client applications based on the idea of isolated applications and side-by-side assemblies. In Visual C++ 2005, the ATL, MFC, Standard C++, and CRT libraries have been rebuilt as shared side-by-side assemblies that are installed into the native assembly cache (WinSxS folder). By default, Visual C++ 2005 builds all native C/C++ applications as isolated applications that use manifests to describe their dependencies on Visual C++ libraries.

Если коротко, дело в том, что теперь разделяемые библиотеки специальным образом копируются в папку %WINDIR%\WinSxS (а именно, распихиваются по вложенным папкам со специальными именами, зависимыми от версий библиотек). И, разумеется, ищутся там же. Это сделано для решения проблемы DLL Hell, когда библиотеки разных версий конфликтуют между собой.

Чтобы быстро установить необходимые библиотеки на компьютере пользователя, можно использовать пакет
%PROGRAMFILES%\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe.

Другой вариант - включить необходимые библиотеки в свой инсталлятор и копировать их в WinSxS с соблюдением необходимых правил, описанных в MSDN. Но проще тупо воссоздать у пользователя структуру папок и файлов в WinSxS, подсмотрев её на своем компьютере.

P.S. Кстати, видимо WinSxS - библиотеки ставятся вместе с .NET Framework (также как, например, MS Office в свое время приносил с собой mfc42.dll), что при совпадении версий библиотек решает проблему запуска. Но это совершенно не означает, что нативные Win32-приложения теперь зависят от .NET Framework. Просто так вышло. Случайно.

Автор: dim_on 12.04.07, 10:27
Как заставить проект класть ilk-файлы (создаются при DEBUG сборке) в нужный мне каталог, а не автоматически в выходной каталог исполняемого файла? Мне удалось разделить все объектные файлы и исполняемый файл по разным папкам, а вот ilk никак не могу.

Автор: Red XIII 12.04.07, 11:10
Цитата dim_on @
Как заставить проект класть ilk-файлы (создаются при DEBUG сборке) в нужный мне каталог

Так пробовал?

Свойства проекта > Configuration Properties > Build Events > Post-Build Event > Command Line > "move /Y *.ilk c:\dir"

Автор: dim_on 12.04.07, 11:23
Цитата Red XIII @
тата (dim_on @ Сегодня, 10:27)
Как заставить проект класть ilk-файлы (создаются при DEBUG сборке) в нужный мне каталог

Так пробовал?

Свойства проекта > Configuration Properties > Build Events > Post-Build Event > Command Line > "move /Y *.ilk c:\dir"

Не пробовал, спасибо за подсказку.

А без командной строки никак нельзя?

Автор: Red XIII 12.04.07, 11:40
Цитата dim_on @
А без командной строки никак нельзя?

"Вам шашечки или ехать?" :)

Автор: Muran 14.04.07, 19:52
постоянно натыкаюсь на проблему с CString...
не вызывается копирование объекта, а просто копирует указатель на буфер и реф добавляет..
а иногда копирует полностью буфер.. :blink: я пока не нашел на каком основании производится решение копировать или нет..

типа

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    CString str1, str2;
     
    str2 = str1;
     
    str2 = _T("text");


в итоге в str1 тоже будет text :wacko:

Автор: MuratMusic 15.04.07, 01:47
Цитата rs4i @
Дамы и господа, кто-нибудь знает как
собрать в VC++2005 и запустить без dotNet'a
следующую консольную программу:

#include <iostream>
int main()
{
std::cout << "Hello, World!\n";
}

Как и прежде в 2002 или 2003 студии достаточно лишь выбрать при создании нового проекта (или решения) Win32 Console Application. DOS-овсвкое уже давно не поддерживается.

Добавлено
Смотрел недавно в книжном магазине книгу "Visual C++ 2005 (базовый курс). Айвор Хортон". В Болеро.ру мне удалось её заказать почти на 500 р. дешевле. Книга понравилась тем, что рассчитана на чайника в пограммировании и при этом в ней более 1000 страниц. Перевод на русский показался приличным.

Добавлено
Это не относится к цитате. Просто хотел поделиться радостью.

Автор: Red XIII 16.04.07, 08:28
Цитата MuratMusic @
DOS-овсвкое уже давно не поддерживается.

А это здесь причем? Человек испытывал трудности при запуске приложения без WinSxS - библиотек и думал, что, якобы, Win32-приложения теперь зависят от .NET. Это не так. Просто схема установки разделяемых библиотек теперь другая.

Цитата Muran @
в итоге в str1 тоже будет text

Фигасе... :blink: Раз 20 запускал приведенный пример, ни разу такого не было...

Автор: Muran 16.04.07, 19:36
да вот в том и дело, что хрен знает в каких случаях это происходит..

запускаешь прогу - а там все данные порушены... давай копаться... епт.. ЦСтринг не скопировался..

пример - это для примера :D
ситуации могут быть разные.. может это как-то связано с тем, что одна из строк - внутри private секции...

Автор: Hryak 17.04.07, 04:14
Цитата Muran @
да вот в том и дело, что хрен знает в каких случаях это происходит..

запускаешь прогу - а там все данные порушены... давай копаться... епт.. ЦСтринг не скопировался..

Если не применять хаков наподобие _tcscpy((PTSTR)(PCTSTR)str2, _T("text")); то наличие механизма copy-on-write в CString ну никакие данные не порушит.

Автор: Forester 23.04.07, 12:42
Купил сабж.
За выходные наловил немеряно глюков разного характера.
НЕ покидает ощущение сырости продукта.
Забегая наперёд скажу, что ставился VisualStudio 2005 Professional на чистую систему
ХР СП2.

Из глюков замечено:

- часто при добавлении переменной для контрола, окошко визарда зависает.
Т.е. когда вы удерживая контрол два раза кликаете на эдитбоксе появляется пустое, неотрисованное окно.
Повторение указанной операции решает вопрос, но тем не менее - неприятно.

- Не уверен, что это глюк, но в класс визарде при попытке добавления нового класса
предлагается всего лишь примерно 5-6 классов в качестве базовых. Я например так
и не понял, каким образом отнаследоваться от CRecordset.
Может просто я что то не то делаю, но в 6-й студии, в которой я работал раньшее
єто делалось именно там и таким образом.

- При компиляции может выдаваться за ошибку, то что 5 минут назад считалось только "варнингом".

Автор: evGenius 24.04.07, 03:23
Цитата Forester @

- часто при добавлении переменной для контрола, окошко визарда зависает.
Т.е. когда вы удерживая контрол два раза кликаете на эдитбоксе появляется пустое, неотрисованное окно.
Повторение указанной операции решает вопрос, но тем не менее - неприятно.

Да, оно очень медленно отрисовывается
Цитата Forester @
- При компиляции может выдаваться за ошибку, то что 5 минут назад считалось только "варнингом".

Хм, сомнительно, не встречал такого.

Автор: Forester 24.04.07, 08:29
Цитата
Хм, сомнительно, не встречал такого.

Могу конкретный пример привести, когда ошибкой начинает считаться даже то, что
не считалось и варнингом.

Цитата
CString csconnection = _T("ODBC;DBQ=\MyBase.mdb;Driver={Microsoft Access Driver (*.mdb)};UID=admin;");


Выделенное красным например у меня считается ошибкой как неизвестная эскейп последовательность.
Вылазит тогда, когда имеются настоящие ошибки, а когда их нет - тихо всё, мирно.


Также вспомнилось:
- Иногда при попытке повесить функцию на контрол, вылазит какая то хрень, которая радостно сообщает,
что у меня что то там "ридонли", а посему ничего добавить оно не может. :blink:
Приходится функции-обработчики писать руками. Лечится только перезапуском студии.

Автор: evGenius 24.04.07, 08:42
А ведь это у тебя действительно неизвестная эскейп-последовательность. В строке нужно на месте символа '\' ставить '\\'

Автор: Forester 24.04.07, 08:55
Да, тут пожалуй я провтыкал...


зы. вспомнил ещё одну "особенность".
Раньше (в 6-й студии) когда мне функция была уже не нужна, я тыкал в неё правой мышей
и выбирал "удалить". Тело тдалённой функции комментировалось.

Здесь же такого нет!!!
Все функции приходится тупо удалять руками в трёх местах!
В меню нет пункта "удалить"!!! Что за нафиг?!
Или я куда то не туда смотрю?

Автор: vint 24.04.07, 10:36
а куда делось hash_map ??
все понял оно тперь в stdext::

Автор: Muran 24.04.07, 11:40
Forester, может у тебя была приблуда типа вижуалассиста? чета я не помню, что в 6-й студии можно было вот так взять и удалить функцию..

Автор: Forester 24.04.07, 12:05
Цитата Muran @
Forester, может у тебя была приблуда типа вижуалассиста? чета я не помню, что в 6-й студии можно было вот так взять и удалить функцию..

Конечно, куда же без него. )))
Только эта "приблуда" у меня и в 2005-м тоже.
Да и разве это возможностями ассиста удаление?

Автор: Muran 24.04.07, 12:36
действительно есть.. =)) никогда не замечал.. на самом деле классвью это такая штука, которая неимоверно глючит в 2005..

Автор: Forester 24.04.07, 13:32
Цитата Muran @
действительно есть.. =)) никогда не замечал.. на самом деле классвью это такая штука, которая неимоверно глючит в 2005..

Вообще, "восьмёрка" производит впечатление какой то преальфы.
Очень сырой, недоделаный продукт. ИМХО.

Существующий патч, помоему только вопрос совместимости с Вистой решает.

Автор: evGenius 26.04.07, 07:04
Цитата Forester @
Вообще, "восьмёрка" производит впечатление какой то преальфы.
Очень сырой, недоделаный продукт. ИМХО.

Ну не знаю. Пока вполне нормально работается, уже около 2 месяцев как на нее пересел.

Автор: Романтик 26.04.07, 12:45
А то что есть недовольные тем,что созданная CLR программа не работает без установленный .NET Framework,то уж извините - это не ошибка.Так и должно быть.У .NET есть свои плюсы,но и свои минусы.В зависимости от поставленной задачи надо и выбирать что использовать.
Цитата mikityak @
Framevork XX я себе представил прихожу к другу и накладиваю ему пол компа штобы
запустить прогу !

Примерно 20Мегов это пол компа? Память уже не ресурс.
И потом установил ты это не только для своей программы,но возможно и для последующих.А для юзера,установка твоего фреймворка это просто бегущий прогрессбар,о котором он мало что знает и просто ждет чтоб загорелась кнопка Next.

У меня MS Visual Studio 2005 Pro и пока в целом доволен.
Из замеченных багов:
Иногда даже после ребилда проекта,он не обновляет экзешник.
Так правда было пару раз за месяц и оба раза после переименования хедера формы.
Нажатием правой кнопки мыши и там выбора Rename.
Может не глюк,а я где-то ошибся??? :huh:

Автор: Forester 26.04.07, 13:45
зы. так относительно удаления функций...
Есть это или нет? А то я к этому интерфейсу всё ещё только привыкаю.
И это... Как создать класс отнаследованый от ... к примеру CRecordset?
А то базовых класов в списке всего штук 5-6. :blink:

Автор: Muran 26.04.07, 18:04
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    class CMyClass : public CRecordset
    {
    };


;)

Автор: Forester 27.04.07, 07:13
Цитата Muran @
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    class CMyClass : public CRecordset
    {
    };


;)

Ты не понял.
Средствами самой студии имеется в виду.
Ведь если я так буду наследоваться от СРекордсета, то мне ох как немало придётся писать руками,
то что обычно по доброму генерируется студией.
Это функции коннекта, связь переменный с полями, их объявление и т.д.

Посмотри что имеется в виду и как это выглядит в той же "шестёрке".
Базовых классов - десятки, а в VC++ 2005 всего 5-6.
Куда делись остальные???

Автор: XPiS 27.04.07, 07:16
Цитата Forester @
Базовых классов - десятки, а в VC++ 2005 всего 5-6.

у меня есть все :rolleyes:

Автор: Forester 27.04.07, 08:20
Цитата XPiS @
Цитата Forester @
Базовых классов - десятки, а в VC++ 2005 всего 5-6.

у меня есть все :rolleyes:

Афигеть...
И как это понимать????

Почему у меня только несколько?
Завтра выложу скрин.

Автор: XPiS 27.04.07, 08:23
[img]хзхзхз[/img]

Автор: Forester 27.04.07, 08:48
Афигеть, дайте две... :blink:

У меня в єтом списке буквально штук 6 классов!

Автор: XPiS 27.04.07, 10:35
Forester
Project->Add Class->MFC Class

Автор: Forester 27.04.07, 11:43
Цитата XPiS @
Forester
Project->Add Class->MFC Class

Ессесьно...

Автор: XPiS 27.04.07, 12:26
Forester
видно студия пиратская, покупай лицензионную :lol:

Автор: Forester 27.04.07, 13:27
Цитата XPiS @
Forester
видно студия пиратская, покупай лицензионную :lol:

Щаз...
Только лыжи смажу. :D
И за пол килобакса куплю двдв диск. :P

Автор: Forester 28.04.07, 10:01
зы. это я протупил.
Есть у меня все классы.
Прокто если заходить в класс визард когда активна закладка формы,
то будут только несколько соответствующих классов.

Автор: ershovdz 01.05.07, 09:11
Цитата Forester @
Также вспомнилось:
- Иногда при попытке повесить функцию на контрол, вылазит какая то хрень, которая радостно сообщает,
что у меня что то там "ридонли", а посему ничего добавить оно не может.
Приходится функции-обработчики писать руками. Лечится только перезапуском студии.

Лечится еще закрытием соответствующего .cpp файла

Автор: Forester 03.05.07, 10:30
Цитата ershovdz @
Цитата Forester @
Также вспомнилось:
- Иногда при попытке повесить функцию на контрол, вылазит какая то хрень, которая радостно сообщает,
что у меня что то там "ридонли", а посему ничего добавить оно не может.
Приходится функции-обработчики писать руками. Лечится только перезапуском студии.

Лечится еще закрытием соответствующего .cpp файла

Спасибо!
Это важная информация!

А вот относительно удаления функций?
Неужели этого нет и придётся в десяти местах чистить руками???

Автор: potas 06.05.07, 20:43
Подскажите мне пожалуйста!
Почему я переходил из Visual C++6.0 к Visual C++8.0 но многие ошибки например в Visual C++6.0 использовал ofstream То в Visual C++8.0 нет поддержки и т.д?

Автор: evGenius 07.05.07, 03:17
Цитата potas @
Почему я переходил из Visual C++6.0 к Visual C++8.0 но многие ошибки например в Visual C++6.0 использовал ofstream То в Visual C++8.0 нет поддержки и т.д?

Во-первых, нужно писать по-русски, во-вторых, пример кода и ошибок в студию.

Автор: Miga 07.05.07, 10:39
Присоединяюсь к Forester'у.
Цитата
Все функции приходится тупо удалять руками в трёх местах!
В меню нет пункта "удалить"!!! Что за нафиг?! Или я куда то не туда смотрю?

У меня сходные чувства. Что, в VS 2005 правда возможности удалить функцию
одним движением руки нету? Может, кто подскажет, как это делать?
А то слишком уж неудобно... :(

Автор: Forester 18.05.07, 08:41
Деструктор вызывается неявно.


зы. я уже спрашивал в соседнем топике, но повтрю здесь.

Как здесь добавить функцию PreTranslateMassage?!

Куда она делась???

Автор: evGenius 18.05.07, 08:48
Цитата Forester @
Как здесь добавить функцию PreTranslateMassage?!

В ClassView правой на классе диалога -> Properties -> Overridies (кнопка сверху) -> PreTranslateMessage

Автор: Forester 18.05.07, 10:38
Цитата evGenius @
Цитата Forester @
Как здесь добавить функцию PreTranslateMassage?!

В ClassView правой на классе диалога -> Properties -> Overridies (кнопка сверху) -> PreTranslateMessage

Сенкс! :)
Сам бы не нашёл.

Автор: Genior 19.06.07, 08:35
Решил перейти с VS2003 на VS2005
Установил студию, SDK Windows Mobile, SDK DirectX 9c
Перекомпилил проект (MFC). При запуске стал требовать coredll.dll.
Вроде он необходим для КПК, но я то делаю для нормального компа. Где его взять?
Или какую-то опцию в проекте надо поставить?

Автор: Keepun 06.07.07, 12:02
У меня в Студии 2005 без СП1 сам редактор кода глючит: поначалу нормально, а через некоторое время обновления редактора замедляется. (Я еще часто запускаю мелкий проект для теста участка кода) Например, вводишь символ, а он показывается на экране только через 10 сек или вообще обновления редактора небудет до того, как с окном что-то не зделаешь.

У меня еще права жестко заданы на папки и файлы. Мож где-то нужно доступ на запись открыть? Хотя FileMonitor ничего такого не показывает...

Автор: evGenius 08.07.07, 09:06
Там Intellisense подгружается в фоне, он здорово тормозит.

Автор: Keepun 08.07.07, 14:08
Цитата evGenius @
Там Intellisense подгружается в фоне, он здорово тормозит.

И как это правится?

Автор: Ghost99 10.07.07, 14:42
В VS2005 не работает следующий код:

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    void CBookTools4Dlg::OnBnClickedBOpen()
    {
        CString msk;
        msk+="Текстовые файлы (*.txt)";
        msk+=(TCHAR)NULL;
        msk+="*.txt";
        msk+=(TCHAR)NULL;
        msk+="Все файлы (*.*)";
        msk+=(TCHAR)NULL;
        msk+="*.*";
        msk+=(TCHAR)NULL;
     
        CFileDialog outDlg(TRUE, "Текстовые файлы (*.txt)", "*.txt",
            OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, msk, this);
     
        if (outDlg.DoModal()==IDOK)
        {
            m_strInpPath = outDlg.GetPathName();
            m_strInpName = outDlg.GetFileName();
            CString s;
            m_edOpen=m_strInpPath;
            UpdateData (FALSE);
            UpdateHeaderInpPath(m_strInpPath);
        }
    }

Окно появляется, но не видно ничего.
в VS2003 работало все ок

Автор: evGenius 12.07.07, 08:37
Цитата Keepun @
И как это правится?

Тут кто-то приводил рецепт по отключению Intellisense, удаляя файл его базы и создавая папку с таким же названием, но это криво.

Автор: Lexus_AVP 12.07.07, 12:03
Граждание! Товарищи! Братья!
У меня проблема
Значит Был у меня Хипи со второй латкой... На нем стояла шестерка! :)
Ну а теперь Мелкософт уже вывел киску Висту, а прога не едит! :(
Поставил тогда я 2005, со всеми причиндалами.
А тут вылезла такая вот непонятка. Вот кусок кода:

bool Router::GetOutInterface(IN DWORD destAddr, OUT DWORD selfAddr, OUT DWORD gw )
{
MIB_IPFORWARDROW BestRoute;
gw = 0;
DWORD ret = GetBestRoute(destAddr,0,&BestRoute);
if(ret != NO_ERROR)
{
return false;
}
if (BestRoute.dwForwardType == 4)
{
gw = BestRoute.dwForwardNextHop;
GetBestRoute(gw,0,&BestRoute);
}
selfAddr = BestRoute.dwForwardNextHop;
if (gw && selfAddr)
return true;
else
return false;
}

Тута когда вызывается GetBestRoute(..) то dwForwardNextHop, то на VS2005, он почему-то мне возвращает 0, вместо IP машины.
Граждане! Братья и сестры! Может кто слышал, каким местом думали M$-овцы, когда возвращали ноль?

Добавлено
Да и еще одна маааленькая просьба:
Если кто знает как обойти кодом чтоб и на Висте прога ездила и Хипи-шку поддерживала
СКАЖИТЕ КАК? ;)

Автор: evGenius 12.07.07, 15:46
Lexus_AVP, а может проблема просто в том, что сеть не настроена?
Посмотри что возвращает GetLastError().

Автор: Lexus_AVP 13.07.07, 12:56
Смотрел уже! Да там все чисто!
Я даже новый проект сделал, вставил туда этот кусок - все чисто!
Да и возвращаемое значение GetBestRoute()-а тоже NO_ERROR! :wall:
Тут мне порекомендовали мои друзья девелоперы, вход, через задний проход!
Т.е. попытаться загрузить библу Iphlpapi.dll, и прямо обратиться к функциям, или
через GetIpAddrTable попытаться вытащить локальный IP.
Как зафурычит(если зафурычит) - скину код, что пипла не мучалась!

Люди, кто-нибудь знает Хотя бы на FW3 GetBestRoute2 фурычит?

Добавлено
Кстати, Вистяк у меня регенный, лицензионный, так что сваливать на блокировку без смысла.
И студия тоже лиценизионная, так что по идее никто ни в чем мне не мешает!
Код на шестерке всегда едет - без проблем!

Автор: neooleg 14.07.07, 12:00
:offtop:
Цитата Lexus_AVP
И студия тоже лиценизионная
Лицензионная студия, это круто! Стоит небось баксов 800. Ты лучше скажи под твоей лицензионнаой студией тоже бывают бока типа при компиляции не может найти .pch файл? И редактор ресурсов тоже прогоняет (не желает сохранять :wall: , хоть убей)? И при запуске проги порой не может найти msvcr80d.dll? Я прощу прощения, конечно, но У МЕНЯ эта студия такая гадость, вот и надеюся может быть лицензионная нормальная. :whistle: Спаисбо!

Автор: evGenius 15.07.07, 12:29
Цитата neooleg @
Ты лучше скажи под твоей лицензионнаой студией тоже бывают бока типа при компиляции не может найти .pch файл? И редактор ресурсов тоже прогоняет (не желает сохранять :wall: , хоть убей)?

Ребилд тебе поможет.
Цитата neooleg @
И при запуске проги порой не может найти msvcr80d.dll?

Не было никогда такой вещи. VS 2005 Prof SP1 на WinXP Pro SP2 Rus.

Автор: neooleg 16.07.07, 07:15
Цитата evGenius
Ребилд тебе поможет.
Спасибо, evGenius, я знаю, что Rebuild помогает, но все же я интересуюсь природой этого бока!
Цитата evGenius
Не было никогда такой вещи. VS 2005 Prof SP1 на WinXP Pro SP2 Rus.
А вот у меня почти каждый раз как новый проект создаю (MFC/API). Правда у меня VS 2005 Prof, но без SP1, а вот WinXP HOME SP2 Rus (лицен.)
А что про глюк с редактором ресурсов, есть такой? У тебя лицен. VS?

Автор: Мальчиш 16.07.07, 08:05
Цитата neooleg @
Спасибо, evGenius, я знаю, что Rebuild помогает, но все же я интересуюсь природой этого бока!

да не бок это, это было всегда. На моей памяти и в VC5... :whistle:

Добавлено
это багофича

Автор: Lexus_AVP 16.07.07, 08:14
Нет лицензионка - таких глюков не дает. Во всяком случае у меня с pch-файлом глюков не было.
А проекты у меня ох-ох-хо! :wacko:
Правда более жесткие условия компилляции породили много головной боли с приведением переменных.

РЕБЯТ, НУ НЕУЖЕЛИ НИКТО ВООБЩЕ НЕ ЗНАЕТ НИЧЕГО ПРО ФУНКЦИЮ "выдачи-наилучшего-роута"?

Автор: evGenius 16.07.07, 14:52
Цитата neooleg @
А что про глюк с редактором ресурсов, есть такой?

Ну в шестерке подобную проблему видел. На 2005 пока нет.
Цитата neooleg @
У тебя лицен. VS?

Хм. Нет. Вряд ли с этим связано. ИМХО, что-то у тебя криво: либо дистибутив, либо неверная конфигурация ветров была в момент установки.

Автор: DJ-Andrey-sXe 18.07.07, 17:02
Цитата DJ-Andrey-sXe @
Статья: Переходим на Microsoft Visual C++ 2005.
http://dj-andrey.ru/articles/visual-cpp-2005-migration

обновил: исправил спорный кусок текста про deprecated и добавил в конец пару байт

Автор: Dark40000 19.07.07, 20:39
Перешёл с VS2002 на VS2005. Перенес текст программы из 2002 в 2005. Билд -> выскочило х3 скоко ошибок... Как поглядел на эти ошибки - все одного типа. Возьмем пару моментов :
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
            RegCreateKeyEx(HKEY_LOCAL_MACHINE,
                         [COLOR=red]"Software\\Microsoft\\Windows\\...", [/COLOR]
                         NULL,
                         "",
                         REG_OPTION_NON_VOLATILE,
                         KEY_SET_VALUE,
                         NULL,
                         &hKey,
                         NULL);

Здесь RegCreateKeyExW' : cannot convert parameter 2 from 'const char [46]' to 'LPCWSTR' . Приходится конвертировать чар в (LPCWSTR) ...

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    char kompname[256];     //имя компа
     
     
             DWORD cchBuff = 256;                              
      
              if(!GetComputerName((LPWSTR)kompname, &cchBuff))
                   strcpy(kompname, "noname");

Прекрасно в 2002 определяло имя компа, тоже ненравится char, переделываю в GetComputerName((LPWSTR)kompname, &cchBuff), ошибки нету, но место имя компа говно какоето определяется.
Раньше прикрасно копилилось MessageBox(бла, "текст", "текст", бла) , сейчас опятьже не нравится char, переделываю в (LPWSTR) - ошибки нету, но выводятся кубики место букв.
Да и вообще что за чертовщина творится, все чар просит конвертить в строку, нафиг мне строка, я с чаром привык и хочу работать!!!
Подскажите, че такое в этом 2005ом ?!?!?! :wall: >:(
Есть правдо мысль что где в свойствах проэкта или в свойствах самого VS чето настроено не так как было настроено в VS 2002. Как сделать что бы почеловечески работала эта штука как и в 2002ом ?!?!? :no-sad:

Автор: CBP 19.07.07, 22:11
Цитата Dark40000, 19.07.07, 23:39:00, 1640805
Есть правдо мысль что где в свойствах проэкта или в свойствах самого VS чето настроено не так как было настроено в VS 2002. Как сделать что бы почеловечески работала эта штука как и в 2002ом ?!?!?

В 2005 используется Unicode по умолчанию. Можешь переключить на ANSI
Project -> Properties -> вкладка General -> Character set (изменить на Use Multi-Byte Character Set)

Автор: Dark40000 20.07.07, 09:46
Цитата CBP @
В 2005 используется Unicode по умолчанию. Можешь переключить на ANSI
Project -> Properties -> вкладка General -> Character set (изменить на Use Multi-Byte Character Set)

Спс. Точно помогло, в 2002 именно так и стаяло. Только я еще неуспел нарадоваться, как заметил другую проблемму. Когда поставил Use Multi-Byte Character Set - в проекте MFC кнопки все стали "некрасивые", т.е. стали обычными прямоугольниками, без всяких подсвечиваний... :wacko: В 2002 было все как положено, красивые кнопки без всякого Unicode... Что делать? Если хочу что бы были красивые кнопочки - надо использовать юникод ?! Или еще гдето в свойствах проэкта покопаться, только это уже врятли...
А как вообще положено по уму, т.е. как все нормальные люди делают - используют Юникод и место char используют строки ?!? Или кто как...

Автор: Keepun 20.07.07, 11:41
У меня _T("string") рулит - не боится перекличателя Unicode

Автор: Dark40000 20.07.07, 14:46
Цитата Keepun @
У меня _T("string") рулит - не боится перекличателя Unicode

Кульная буковка T ! мне тоже вроде помогает. Спс

Автор: Бобёр 05.08.07, 13:15
Нарвался на багу. В 2003 всё было в порядке и в debug и в release.
А вот компилятор ресурсов 2005 студии начал выдавать страшную ошибку в release. Оказалось, что даже со всеми сервиз паками в конце .xsl файла нужно было принудительно 0-ик поставить.

Автор: Мальчиш 06.08.07, 12:41
Цитата Бобёр @
.xsl

ы? причем к ресурсам файл XSLT?

Автор: Hryak 06.08.07, 12:59
Цитата Мальчиш @
Цитата Бобёр @
.xsl

ы? причем к ресурсам файл XSLT?

Очевидно, Бобёр вставлял xsl-файл в ресурсы как Custom resource.
Правда, непонятно тогда, чем xsl тут от другого типа файлов отличается...

Автор: Syberian 14.08.07, 07:57
Возникла проблема с подключением dll. При переходе с Visual Studio 2003 на Visual Studio express 2005.
Подключение производится функцией ::LoadLibrary(...)

К подключаемой библиотеке прилагаются заголовочные файлы с прототипами функций. В 2003 компилируется и работает нормально.

2005 выдает при компиляции кучу ошибок "error C2059: syntax error : '__declspec(dllimport)"

Причем, при двойном щелчке на это сообщение, открывается заголовочный файл подключаемой библиотеки и курсор указывает на прототип такого вида:

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    const char * _MAPAPI mapGetProjectName(HMAP hMap);
    char* _MAPAPI mapGetDialogStringFont();
.

_MAPAPI объявлено как
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #define _MAPAPI   __declspec( dllimport ) WINAPI


Функции, возвращающие не указатели, а обычные значения, ошибок не вызывают:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    double _MAPAPI mapDistance(DOUBLEPOINT * point1, DOUBLEPOINT * point2);


То есть, у компилятора проблемы с либо с указателями, либо с сhar'ами, либо с указателями на char'ы при подключении библиотек.

Где и как это решается я не нашел :wall:
Может быть, кто-нибудь подскажет?

Автор: Muran 16.08.07, 09:19
я где-то рассказывал про баг с CString-ами..
типа у них общий буфер получается..

вот пример.. проверьте плз.. может просто студия у меня кривая...

Добавлено
в поле надо ввести чтонить типа c:\test\test.test

Автор: evGenius 16.08.07, 10:24
А где вызов GetBuffer() до ReleaseBuffer()? Это называется "подлый приемчик". После добавления предварительного вызова GetBuffer() все встало на место.

Автор: Muran 16.08.07, 11:50
а нафига вызывать GetBuffer(), если я скопировал объект... в 6-й студии или в 2003 мой пример работает..

Добавлено
лучше другой конструктор CString-а просто вызывать...

Автор: evGenius 17.08.07, 03:21
Цитата Muran @
а нафига вызывать GetBuffer()

Потому что иначе вызов ReleaseBuffer() незаконен.
Цитата MSDN

void ReleaseBuffer(
int nNewLength = -1
);
Releases control of the buffer allocated by GetBuffer.

Автор: Muran 17.08.07, 05:15
ok

Автор: Devilguard 19.08.07, 12:59
Вопрос по редактору студии.
Никто не знает, как у него делается обратный tab ? То есть обычные переход на указанное в настройках количество пробелов вперед, а назад как ? Знаю что есть, но в упор забыл эту конбинацию клавиш. А то очень проблемно получается когда большой кусок скопируюешь, а у него формитирование сбивается на 1-2 таба вперед уходит.

Автор: Hryak 19.08.07, 16:57
Цитата Devilguard @
То есть обычные переход на указанное в настройках количество пробелов вперед, а назад как ?

Shift+Tab

Автор: Syberian 20.08.07, 06:43
Проблемы с unresolved external symbol...

В файле main.cpp есть функция

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    void SetMouseCapture(){
        //ограничение перемещения мыши границами окна
        SetCapture(hWnd);
        RECT rect, rect_screen;
        POINT tmpPt;
        GetClientRect(hWnd, &rect);
        tmpPt.x = rect.left;
        tmpPt.y = rect.top;
        ::ClientToScreen(hWnd, &tmpPt);
        rect_screen.left = tmpPt.x;
        rect_screen.top = tmpPt.y;
        tmpPt.x = rect.right;
        tmpPt.y = rect.bottom;
        ::ClientToScreen(hWnd, &tmpPt);
        rect_screen.right = tmpPt.x;
        rect_screen.bottom = tmpPt.y;
        ::ClipCursor(&rect_screen);
    }


Вылазит ошибка:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    error LNK2019: unresolved external symbol __imp__ClipCursor@4 referenced in function "void __cdecl SetMouseCapture(void)" (?SetMouseCapture@@YAXXZ)

Автор: Мальчиш 20.08.07, 07:49
to Syberian:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #pragma comment(lib, "User32.lib")

Автор: Syberian 20.08.07, 08:09
2 Мальчишь:
Про for я не понял... Его куда, такого некрасивого???

Автор: Мальчиш 20.08.07, 08:14
:lool: :lool: :lool: :lool: :lool: :lool: :lool: :lol: :lol: :lol: :lol: :lol: :lool: :lool: :lool: :lool:

Добавлено
это подпись :whistle:

Автор: Syberian 20.08.07, 08:17
Теперь у меня external'ы полезли в другом месте:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    glaux.Lib(tkdib.obj) : error LNK2019: unresolved external symbol __imp__SetDIBits@28 referenced in function _tkDIBImageLoadAW@8


И дофига причем :blink:

Автор: Мальчиш 20.08.07, 08:18
добавь
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #pragma comment(lib, "Gdi32.lib")

Автор: Ballantre 30.08.07, 15:01
Собираю проект в 2005 Студии. Представляет он собой тришкин кафтан: и из 6.0 версии и из 2003 и из 2005.

Лезет следующая ошибка линковки
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    atlsd.lib(atltrace.obj) : error LNK2005: "unsigned int (__stdcall* ATL::g_pfnGetThreadACP)(void)" (?g_pfnGetThreadACP@ATL@@3P6GIXZA) already defined in itcrutil.lib(itstring.obj)


Прошу помощи!

Автор: Lexus_AVP 04.09.07, 06:30
И так граждане товарищи, как я и обещал я нашел решение проблемы под Висту!
;)
Вот код который помогает решить вопросы Связанные с GetBestRoute(...):
//////////////////////////////////////////////

MIB_IPFORWARDROW BestRoute;
gw = 0;
UInt32 ret = GetBestRoute(destAddr,0,&BestRoute);
if(ret != NO_ERROR)
{
return false;
}
//if not local route(ret =4)
if (BestRoute.dwForwardType == 4)
{
gw = BestRoute.dwForwardNextHop;
GetBestRoute(gw,0,&BestRoute);
}

selfAddr = BestRoute.dwForwardNextHop;
return bSuccess;
/////////////////////////////////////////////

А вот добавленный код для Висты и прочего послед. мелкомягкого продукта:


if ( selfAddr == 0 ) {
#if WINVER >= 0x0501 // Windows Vista 0x0501 or 0x0600
//DWORD BestIfIndex;
//GetBestInterface(gw, &BestIfIndex);

// through the local ip address table find out one best route match .
PMIB_IPADDRTABLE pIpAddrTable = NULL;
ULONG addrTableSize = 0;
bool bSuccess = false;

// allocate the space
if (ERROR_INSUFFICIENT_BUFFER == GetIpAddrTable(NULL, &addrTableSize, FALSE))
{
pIpAddrTable = (PMIB_IPADDRTABLE) new char [addrTableSize];
}
else
{
return false; // can't find source address for destination
}

if (NO_ERROR == GetIpAddrTable(pIpAddrTable, &addrTableSize, FALSE))
{
// try to find a match
for (DWORD i=0; i<pIpAddrTable->dwNumEntries; i++)
{
MIB_IPADDRROW &entry = pIpAddrTable->table[i];

if(entry.dwIndex == BestRoute.dwForwardIfIndex)
{
if ( (entry.dwAddr & entry.dwMask) == (gw & entry.dwMask) ) {
selfAddr = entry.dwAddr;
bSuccess = true;
} else if( selfAddr == 0 ) {
selfAddr = entry.dwAddr;
bSuccess = true;
}
}
}
}

delete [] (char *) pIpAddrTable;
return bSuccess;

#endif // WINVER >= VISTA


Надеюсь кому-то это поможет!

Автор: Scad 08.09.07, 22:47
У меня странная проблема. Скомпилилось все удачно, но при запуске выдает сообщние
Failed to create empty document. :wacko:
Приложение SDI.
Ошибка возникает на в InitInstance при вызове функции ParseCommandLine(cmdInfo); Может кто сталкивался?

Автор: evGenius 10.09.07, 03:29
Цитата Scad @
Ошибка возникает на в InitInstance при вызове функции ParseCommandLine(cmdInfo); Может кто сталкивался?

Через командную строку что-нибудь при запуске передаешь?

Автор: TomSoyer 24.10.07, 00:48
Народ! Столкнулся с интересной проблемой, сколько не рылся ответа не нашел. Создаю простейшее приложение на основе диалогового окна (объём примерно 10% от площади экрана). Про интерфейсные эл-ты молчу, их не много и не в них дело. Компилирую, запускаю и ... Это маленькое окошко занимает 100% экрана. Это не масштабирование! Все элементы исходного размера, расположение то-же не изменилось. Просто "диалог" увеличил свой размер до "сколько можно". Кто знает, подскажите что где изменить, чтобы при запуске окно оставалось заданного размера.
PS: при наличии кнопки "развернуть/восстановить" окно при клике принимает нормальные размеры. В VC 6.0 такого небыло.

Автор: evGenius 25.10.07, 06:16
Цитата TomSoyer @
Народ! Столкнулся с интересной проблемой, сколько не рылся ответа не нашел. Создаю простейшее приложение на основе диалогового окна (объём примерно 10% от площади экрана). Про интерфейсные эл-ты молчу, их не много и не в них дело. Компилирую, запускаю и ... Это маленькое окошко занимает 100% экрана. Это не масштабирование! Все элементы исходного размера, расположение то-же не изменилось. Просто "диалог" увеличил свой размер до "сколько можно". Кто знает, подскажите что где изменить, чтобы при запуске окно оставалось заданного размера.
PS: при наличии кнопки "развернуть/восстановить" окно при клике принимает нормальные размеры. В VC 6.0 такого небыло.

Тестовый проект можешь выложить?

Автор: TomSoyer 26.10.07, 02:08
Создал проект на другой машине. Всё ОК! Перенёс старый проект на другую машину, всё тоже ОК! Стал разбираться в чём отличие. Вспомнил, на исходной машине стоит IE 7.0.5730.13 скачаный с сайта Microsoft. Скачан нормально, установлен "криво", что-то в установщике Windows. Возможно все проблемы именно в нём. Тогда это не проблемы с Visual Studio 2005.

Автор: TomSoyer 01.11.07, 08:53
Столкнулся со странной проблемой: на чистую Windows XP устанавливаю Visual Studio 2005. Создаю проект на базе диалога (Visual C++), размещаю элементы и пытаюсь привязать их к переменным: Выбираю элемент, правой кнопкой мыши - Add variable... Открывается окно "Add Member Variable Wizard" и сразу - же окно ошибки: строка 1585, Ошибка: объект не поддерживает это свойство или метод.
Причём в окне "Add Member Variable Wizard" не активен элемент "Variable type...". Вместо него белый квадрат с крестиком.
Как я понимаю глюк создаёт именно этот элемент. Т.е. нет перечня типов переменных, ни простых (Variable), ни объектных (Control). Кто-нибудь знает, чего не хватает в системе или в VS2005?

Автор: baobab 04.11.07, 19:46
я конечно извиняюсь за идиотский вопрос, думаю не надо создавать отдельную тему..
переместил папку Visual Studio 2005 из 'моих документов' в нужную мне папку, в Tools-Options-Projects and Solutions все что надо настроил, теперь студия при запуске создает новую пустую папку в 'моих документах'.
как побороть?

Автор: khall 15.11.07, 15:42
Как решить проблему с удалением Microsoft Visual Studio .NET 2003? При удалении появляется сообщение: Setup is unable to determine a valid ordering for the installation. See the error log for further details." Что делать чтобы безопасно для системы удалить Microsoft Visual Studio .NET 2003?

Автор: evGenius 16.11.07, 04:29
Цитата khall @
See the error log for further details.

Смотри лог.

Автор: niello 24.12.07, 18:49
Тут писали про проблему с линковкой библиотек, которые нужно искать в WinSxS. Привели 2 решения - статическая линковка или установка VC++ redistributable.

Попробовал включить в опциях проекта Use MFC in a static library. Посыпалась куча ошибок Unresolved external на BeginPaint, BitBlt, CreateFontA, DeleteObject итд., всего 95 штук ошибок. Неужели визуалку нужно ткнуть в нужные библиотеки вручную? Или она только у меня сама их найти не может? Смотрел пути, которые выше в постах указывали. В VC\redist\x86 все указанные папки лежат. Как указать ему, где искать библиотеки для статики?

Попробовал устанавливать VC++ Redistributable Package, и тот, что шел со студией, и свежескачанный. Весят они у меня по 2 с половиной метра примерно. В результате выяснил, что при установке они мне ничего в WinSxS не ставят (переименовывал или перемещал существующие библиотеки, установочник не восстанавливал). Может, конечно, они определяют себя уже установленными и просто завершаются. Но тот же пакет устанавливал на машине клиента (собственно, проблема в том и есть, что у него приложение не запускается). Даже с установленным redist package не хочет запускаться.

Что тут лучше сделать?
Таскать SxS библиотеки вслед за приложением, при установке копируя в WinSxS;
Таскать нужные библиотеки, складывая их в 1 папку с приложением (воспримет ли их ехе, или придется еще и через LoadLibrary все это включать?);
Статически прилинковать (сам склоняюсь к этому, но тогда подскажите кто-нибудь, как от unresolved external'ов избавиться)

Заранее спасибо.

Автор: evGenius 26.12.07, 07:00
Цитата niello @
Таскать нужные библиотеки, складывая их в 1 папку с приложением

Можно так. Работает.
Цитата niello @
Может, конечно, они определяют себя уже установленными и просто завершаются.

Именно так.
Цитата niello @
Но тот же пакет устанавливал на машине клиента (собственно, проблема в том и есть, что у него приложение не запускается). Даже с установленным redist package не хочет запускаться.

Может не все что нужно поставил? Как ставил? Проще всего студией собрать инсталлятор.

Автор: ded(ok) 10.01.08, 14:52
Дорого всем времини суток ,у меня непонятная проблема :
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    1>------ Build started: Project: 1, Configuration: Debug Win32 ------
    1>Compiling...
    1>stdafx.cpp
    1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h(222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
    1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h(222) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h(5940) : error C2146: syntax error : missing ';' before identifier 'Buffer'
    1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>Build log was saved at "file://d:\Проэкты\1\1\1\Debug\BuildLog.htm"
    1>1 - 5 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Это он пишет, при компеляции проги созданой его Wizard'om!!!

Ругается на строки:

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    typedef union _FILE_SEGMENT_ELEMENT {
        PVOID64 Buffer;
        ULONGLONG Alignment;
    }FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;
     
     
    typedef void *PVOID;
    typedef void * POINTER_64 PVOID64;


Что делать :wall: !!!

ЗЫ Если самому писать ,то тож ругается :wall:

Автор: evGenius 31.01.08, 11:41
Цитата ded(ok) @
Это он пишет, при компеляции проги созданой его Wizard'om!!!

Каким именно визардом? Какой проект? Код твоего приложения в студию.

Автор: Devilguard 03.02.08, 11:25
В KDevelop есть такая штука Make member, при выделении функции (поместить курсор на строку с функцией) в header файле и нажатии хоткея в соотвествующем cpp файле создается заглушка функции (работает не смотря на название и с обычными функциями), т.е:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    // Foo.h
    class Foo
    {
        int Bar(int a);
    };

После выполнения make member:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    // Foo.cpp
    int Foo::Bar(int a)
    {
    }


Такого нету ни в VS 2005, ни даже в VAX. Вопрос видел ли кто-нибудь макрос который умеет это делать ?


-------
хотя уже не нужно. Посмотрел обновление на wholetomato, там уже есть эта функциональность в новых версиях.

Автор: niello 03.02.08, 17:32
evGenius

Я просто дурак, как оказалось. Скомпилил, а дебаг на релиз забыл поменять, вот он и искал дебаг-версии библиотек, а они не распространяются.

Всем спасибо за ответы.

Автор: triton 09.03.08, 11:12
Помогите плиз, может уже пробегало, но я не нашел.

при попытке использовать примеры из учебников и уроков возникает проблема.

суть проблемы вот в чем

создаю пустой проект Win32 и делая в первой строчке

#include <stdafx.h>

получаю сообщение об ошибке.

каков минимальный набор для проекта с использованием MFC????

все делается в студии 2005 Express

кстати ни один пример из

http://books.kulichki.net/data/c/msvc1/THEORY/HTM/glava03.html

запустить в студии 2005 экспресс у меня не получилось. :(

кстати где проблема в этом коде:

#include <windows.h>
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
// Отображение диалоговой панели.
MessageBox(NULL,"First MFC-application","Message",MB_OK);
// Завершение работы приложения
return 0;
}

Автор: ElcnU 09.03.08, 11:39
Цитата triton @
при попытке использовать примеры из учебников и уроков возникает проблема.
суть проблемы вот в чем
создаю пустой проект Win32 и делая в первой строчке
#include <stdafx.h>
получаю сообщение об ошибке.
каков минимальный набор для проекта с использованием MFC????
все делается в студии 2005 Express

2005 Express вообще пустая, в ней нет MFC, ATL да вообще SDK тоже нет

Цитата triton @
кстати где проблема в этом коде:

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #include <windows.h>
    int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nShowCmd)
    {
    // Отображение диалоговой панели.
    MessageBox(NULL,"First MFC-application","Message",MB_OK);
    // Завершение работы приложения
    return 0;
    }

почитай тут и тут для начала

Автор: triton 09.03.08, 11:51
ElcnU

Благодарю за оперативность!!!

SDK я скачал и подключил, как быть с MFC и ATL есть гдет такое же описание по подключению как и по SDK???

#include <windows.h>
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
// Отображение диалоговой панели.
MessageBox(NULL,"First MFC-application","Message",MB_OK);
// Завершение работы приложения
return 0;
}

в этом коде ошибка

"c:\documents and settings\ruslan\мои документы\visual studio 2005\projects\tt\tt\main.cpp(6) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [22]' to 'LPCWSTR'"

Автор: ElcnU 09.03.08, 12:17
Цитата triton @
как быть с MFC и ATL есть гдет такое же описание по подключению как и по SDK???

не искал, не особо нужно :)
проще поставить другую студию

Цитата triton @
"c:\documents and settings\ruslan\мои документы\visual studio 2005\projects\tt\tt\main.cpp(6) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [22]' to 'LPCWSTR'"

или
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #include <windows.h>
    #include <tchar.h>
    int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nShowCmd)
    {
    // Отображение диалоговой панели.
    MessageBox(NULL,_T("First MFC-application"),_T("Message"),MB_OK);
    // Завершение работы приложения
    return 0;
    }

или
меню
project->properties->general->character set->Use Multi-Byte Character Set

Автор: triton 09.03.08, 12:31
Цитата ElcnU @
не искал, не особо нужно :)
проще поставить другую студию



есть варианты бесплатных???

Добавлено
Цитата ElcnU @
#include <windows.h> #include <tchar.h> int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { // Отображение диалоговой панели. MessageBox(NULL,_T("First MFC-application"),_T("Message"),MB_OK); // Завершение работы приложения return 0; }



в ответ ошибки

------ Build started: Project: tt, Configuration: Debug Win32 ------
Compiling...
main.cpp
c:\documents and settings\ruslan\мои документы\visual studio 2005\projects\tt\tt\main.cpp(5) : warning C4007: 'WinMain' : must be '__stdcall'
Linking...
LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll ignored; no imports found from OleAcc.dll
main.obj : error LNK2019: unresolved external symbol __imp__MessageBoxA@16 referenced in function _WinMain@16
C:\Documents and Settings\Ruslan\Мои документы\Visual Studio 2005\Projects\tt\Debug\tt.exe : fatal error LNK1120: 1 unresolved externals
Build log was saved at "file://c:\Documents and Settings\Ruslan\Мои документы\Visual Studio 2005\Projects\tt\tt\Debug\BuildLog.htm"
tt - 2 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Автор: ElcnU 09.03.08, 12:56
Цитата triton @
в ответ ошибки

1 должно быть
project->properties->Linker->SubSystem->Windows (/SUBSYSTEM:WINDOWS)

2 судя по всему ты не дочитал
How to: Use Visual C++ Express Edition with the Microsoft Platform SDK

Автор: triton 09.03.08, 13:45
Цитата ElcnU @
1 должно быть
project->properties->Linker->SubSystem->Windows (/SUBSYSTEM:WINDOWS)



спасибо - помогло! ;)

а как быть с MFC

если создавать не пустой проект, то ошибок include "stdafx.h" не вызывает,
и проект компилирует все нормально
но там куча комманд и файлов, а хотелось бы собрать все по минимуму...

так сказать - собрать самому все с пустого проекта и без визарда.

Автор: ElcnU 09.03.08, 14:00
Цитата triton @
а как быть с MFC

выдерни откуда нить (из другой студии)(например у меня "c:\Program Files\Microsoft Visual Studio 8\VC\atlmfc" ) и пропиши также как SDK прописывал
потом поменяй
project->properties->general->Use of MFC->Use MFC in a Shared DLL
или
project->properties->general->Use of MFC->Use MFC in a Static Library
но это вроде уже небесплатно ;)
да и без стандартного редактора ресурсов как то глухо

Цитата triton @
если создавать не пустой проект, то ошибок include "stdafx.h" не вызывает,
и проект компилирует все нормально
но там куча комманд и файлов, а хотелось бы собрать все по минимуму...

так сказать - собрать самому все с пустого проекта и без визарда.

1 когда в визарде создаёшь постав галочку empty project
2 добавь к прокту cpp фаил
3
Цитата ElcnU @
project->properties->Linker->SubSystem->Windows (/SUBSYSTEM:WINDOWS)

4 пишешь свой код по минимуму.

или еще более "поминимуму"?

Автор: Hsilgos 30.03.08, 01:06
Может уже стоит уже проблемы перехода на 2008 студию рассматривать? =)

Автор: Cechmanek 20.04.08, 18:23
С помощью каких горячих клавиш можно переходить быстро по табам (вкладкам) ?
Например след., пред. таб или предыдущий открытый ?
Я в настройках windows.NextTab например задаю alt+page down, вроде все нормально, нигде больше такая конбинация не используется - делаю ее, и все равно не переходит.
VS2005 и VAX.

Автор: Cechmanek 02.05.08, 22:22
А у меня вопрос просто по VS и MFC и в частности по макросу TRACE0.
Он же получается зависимый и без Afx соотвествующих не подключается/компилируется, а у меня например есть проекты для которых бы очень удобно бы было трейс такой делать при дебаге.
Можно ли его как-то попытатся отдельно подключить, не подключая Afx... и MFC ? Может есть у кого собственноручный вариант этого макроса ?

Автор: Hryak 03.05.08, 10:11
Цитата Cechmanek @
Может есть у кого собственноручный вариант этого макроса ?

Собственного - нет, но есть _RPTx в crtdbg.h

Автор: Бобёр 07.05.08, 04:29
При переходе с 2003 студии на 2005 была обнаружена неприятная особенность, и особенность видимо, была в компиляторе ресурсов.
значит так, грузил из ресурсов .xslt-шку. В 2003 всё было в порядке, а в 2005 всё в порядке было только в режиме DEBUG. Релиз версия не грузила то что надо. долго не разбирался, просто добавил в конец .xslt-шных файлов два бинарных нолика, всё заработало.

Автор: Hsilgos 07.05.08, 11:20
Цитата
Может есть у кого собственноручный вариант этого макроса ?

Можно и свой сделать

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #ifdef _DEBUG
    #define TRACE   TracePrint
    #else
    #define TRACE
    #endif
     
    inline void TracePrint(const char   *szFormat,...)
    {
        va_list args;
        va_start(args, szFormat);
        char str[1024]; // Выберите размер, какой хотите
        int len = vsprintf(str,szFormat,args);
        strncat(str,"\n",1024);
        OutputDebugStringA(str);
    }
     
     
    inline void TracePrint(const WCHAR  *szFormat,...)
    {
        va_list args;
        va_start(args, szFormat);
        TCHAR str[1024]; // Выберите размер, какой хотите
        int len = vswprintf(str,szFormat,args);
        wcsncat(str,L"\n",1024);
        OutputDebugStringW(str);
    }

Автор: Sergeant007 09.05.08, 17:54
Перехожу с VS8(2005) на VS9(2008). Не находит хедер <GL\glaux.h> (его в VS9 нету). В VS8 он находился по пути "...\VC\PlatformSDK\Include\gl". В директории VS9 даже нет папки PlatformSDK! Пробовал различные варианты установки - не помогает. Что делать и где его искать? Просто перенести от VS8?

Автор: Cechmanek 09.05.08, 18:08
Hsilgos
Спасибо, но я просто подумал лишним отвечать - но на самом деле вариант Hryak, тоже работает хорошо.

Автор: Sergeant007 13.05.08, 11:19
Люди, подскажите хоть что-нить

Автор: Sergeant007 22.05.08, 17:00
В общем новая студия ставит SDK в отдельную директорию в Program Files, там можно найти gl.h и glu.h, glaux.h исчез (но мне он и не нужен был). А вообще, Студия 2008 без каких либо видимых новшеств очень сильно тормозит.

Автор: developer 22.05.08, 18:57
Есть вопрос по VS2008.

Набираю в редакторе имя класса для статических функций или имя объекта для нестатических функций - справа открывается список членов класса. Когда выбираю функцию и ввожу клавишей Enter, выбранная функция вставляется в текст, но без скобок для параметров.

А вопрос вот в чем: Нельзя ли VS настроить так, чтобы она вставяла члены-функции сразу со скобками возьмем к примеру прямой доступ не так obect.function, а сразу так obect.function()? Чтобы скобки для параметров не вводить самому.

Автор: Hryak 22.05.08, 20:30
Цитата developer @
А вопрос вот в чем: Нельзя ли VS настроить так, чтобы она вставяла члены-функции сразу со скобками возьмем к примеру прямой доступ не так obect.function, а сразу так obect.function()? Чтобы скобки для параметров не вводить самому.

Ставь Visual Assist и не парься.

Автор: asta 02.06.08, 11:02
Есть такая проблема:
MFC приложение переведено с VS 6 на VS 2005. При этом есть подпроекты/диалоги в которых активХ-ы работают нормально, а есть те, в которых хотябы 1 активХ приводит к следующей ошибке:
---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!

Program: j:\nd_d\bin\are\AR_Pam.exe
File: f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\occcont.cpp
Line: 926

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.

(Press Retry to debug the application)
---------------------------
Abort Retry Ignore
---------------------------

Это все случается при Dlg->DoModal().
Уже разные активХ-ы пробовал - не пашет хоть убей. Как лечить?

Автор: xVekx 08.06.08, 20:09
люди подскажите где в настройках VS2008 сделать так, чтобы консольное приложение по выполнении на закрывалось (как это сделано в VS6.0) ???

Автор: ветерок 22.06.08, 13:38
народ,предлагаю в шапке темы,написать стандартные шани по устранению той или иной ошибки
ну к пример С4466 описание на англиском(в оригинале) -> русский перевод -> причина -> решение

или около того,дабы облегчить народу жизнь.

Просто запарился читать ветку...Думаю не один я такой.

у меня тоже задача.
взял проект из вижуал С++ 7.0 попробовал собрать в вижуал студио 2005
и вот что получилось...
http://talks.mark-itt.ru/forummessage/25/308842.html
чего делать-то ?

Автор: Ghost99 08.09.08, 20:44
Прочитал нонеча весь топик и так и не нашел ответа, как удалить функцию добавленную Визардом :D

Вообщем все банально на вкладке Properties есть малипусенькая кнопочка Overrides. Там-то оно и живет :lool:

А на последний пост можна ответить- Учи вражеский и читай MSDN

Автор: Sergeant007 25.09.08, 10:33
Глюк в Visual C++ 2008 студии при отладке:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    unsigned short i=0;
    for(;i<10;i++)
    {
        //что-то делаем
    }
    for(unsigned char i=0; i<5; i++)
    {
        //что-то делаем
    }
    //здесь ставим брэкпоинт
    //и в окне watch наблюдаем i=5 вместо i=10!!!!!

Автор: Fuchslein 26.09.08, 15:57
Подскажите....где скачать Visual Studio 2005??? :blink:

Автор: B.V. 30.09.08, 09:43
Тут

Автор: Kips 15.10.08, 04:25
Спасибо

Автор: B.V. 05.11.08, 08:33
Русская версия Visual Studio 2008: http://msdn.microsoft.com/ru-ru/vstudio/bb332392.aspx :)

Автор: kwwsoft 07.11.08, 11:54
пасиб. качаю.

Автор: Мальчиш 07.11.08, 17:30
жесть... гоблины какие-то..

Автор: Солнышка 13.11.08, 16:58
Цитата Sergeant007 @
В общем новая студия ставит SDK в отдельную директорию в Program Files, там можно найти gl.h и glu.h, glaux.h исчез (но мне он и не нужен был). А вообще, Студия 2008 без каких либо видимых новшеств очень сильно тормозит.

А куда он исчез? Как подключить <gl/glaux.h>? Куда ещё ещё можно положить? :wacko:
:ph34r:

Добавлено
после установки vs2008 и в vs2003 проекты с glaux.h не компилятся. :wall:

Автор: Мальчиш 13.11.08, 19:32
Reward
Вот ответ, нашел в гугл
https://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2196012&SiteID=1

Автор: Солнышка 14.11.08, 07:24
Цитата Мальчиш @
Reward
Вот ответ, нашел в гугл
https://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2196012&SiteID=1

Пасиб, я этот топик видела...но пока не переустановила vs2003 не получилось - что-то я не так сделала наверн. Зато мсдн русскую скачала. 8-)

Автор: Der_Meister 14.11.08, 08:39
Цитата ветерок @
взял проект из вижуал С++ 7.0 попробовал собрать в вижуал студио 2005
и вот что получилось...

Странный способ выкладывать ошибки во flash. У меня его нет и, в ближайшем будущем, не предвидится. Так что советую либо текстом написать, либо скриншот выложить, либо сам проект.

Добавлено
Цитата xVekx @
люди подскажите где в настройках VS2008 сделать так, чтобы консольное приложение по выполнении на закрывалось (как это сделано в VS6.0) ???

1. В конце программы добавить
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    system("pause");

или
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    cin.get();

и т.п.
2. Поставить точку останова в конце программы.
3. Запускать по Ctrl-F5, только отладка будет недоступна..

Автор: Fedel 21.11.08, 16:15
Hi All!

А VS2008 все еще пробная версия или уже финал вышел? Или когда планируется?

Автор: Der_Meister 21.11.08, 16:20
Вышел.

Добавлено
http://www.microsoft.com/express/ru/

Автор: B.V. 23.11.08, 17:18
Цитата Fedel @
А VS2008 все еще пробная версия или уже финал вышел?


С добрым утром, уже 2010 студия на подходе, а 2008 в прошлом году вышла.

Автор: Kukushka 02.12.08, 15:04
Подскажи что надо сделать в Visual Studio 2008 что бы скомпилировать MFC проект под Window 98?
Пишет зараза что версия Window старая и т.д.

Автор: Мальчиш 03.12.08, 13:31
Цитата Kukushka @
Подскажи что надо сделать в Visual Studio 2008 что бы скомпилировать MFC проект под Window 98?
Пишет зараза что версия Window старая и т.д.

ничего не сделаешь.

Автор: Alex2008 12.12.08, 23:28
Народ помогите пжл режить проблему.Создаю проект в visual 2005 c++ на базе диалога, размещаю элементы edit control и назначаю переменные.Как только я в контекстовом меню пытаюсь добавить переменную,открывается окно "Add Member Variable Wizard" и сразу - же окно ошибки:строка1585, Ошибка: объект не поддерживает это свойство или метод, и сразу же предлагает провести отладку...но отладки не происходит а вместо этого вылазит еще одно окно ошибки с текстом "Ошибка выполнения Microsoft JScript: Объект не поддерживает это свойство или метод". Этот вопрос здесь ранее уже поднимался, но не получил должного ответа. Кто знает че делать, плз!??

Автор: naskul777 13.12.08, 18:18
что надо сделать в Visual Studio 2008 что бы скомпилировать MFC проект под Window 98?

Автор: miksayer 13.12.08, 19:47
Цитата naskul777 @
что надо сделать в Visual Studio 2008 что бы скомпилировать MFC проект под Window 98?

вроде как ничего. Просто сконвертировать проект+может понадобиться чуть-чуть код подправить

Автор: Der_Meister 14.12.08, 07:22
Вообще-то VS 2008 не работает под Windows 98.

Автор: miksayer 14.12.08, 09:04
Цитата Der_Meister @
Вообще-то VS 2008 не работает под Windows 98.

сама студия не работает, но проекты под 98-ю можно вроде собрать(если, конечно, не использовать чего-то, что Вин98 не поддерживает)

Автор: _nic 25.12.08, 14:09
Чтоб не создавать новую тему,спрошу тут.Есть ли в Visual Studio C++ аналог BDS'го инди ?

Автор: kirakuration 19.02.09, 10:17
У мя проблема решил начать изучать DirectX поставил Visual C++ 2008 и DX 10, нашел книгу по DX10, но у примеры из VS 2005 и при наборе след кода

HRESULT InitDirect3D10()
{
HRESULT hr = S_OK;

// Размеры клиентской области окна окна
RECT rc;
GetClientRect( g_hWnd, &rc );
UINT width = rc.right - rc.left;
UINT height = rc.bottom - rc.top;

// Список возможных типов устройства
D3D10_DRIVER_TYPE driverTypes[] =
{
D3D10_DRIVER_TYPE_HARDWARE,
D3D10_DRIVER_TYPE_REFERENCE,
.
.
.

и выдает ошибку:

1>kards.obj : error LNK2019: unresolved external symbol _D3D10CreateDeviceAndSwapChain@32 referenced in function "long __cdecl InitDirect3D10(void)" (?InitDirect3D10@@YAJXZ)
1>D:\Project\Kards\Debug\Kards.exe : fatal error LNK1120: 1 unresolved externals

Пожалуйста подскажите ктонибудь в чем проблема??????????????????????

Автор: B.V. 19.02.09, 11:09
А lib'ы d3d10.lib d3dx10.lib к проекту добавить забыл?

Автор: Azopp 10.03.09, 21:21
Почитал всю тему, не нашел ответа по проблеме, как у этого автора:
Цитата luciferOFF @
Паривет всем.
пытаюсь перенести проект из 2003-й студии в 2005 - ю. вылетаеют ошибки при компиляции stdafx.cpp.
Ругается на
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    include\winnt.h(222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
    include\winnt.h(222) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    include\winnt.h(5940) : error C2146: syntax error : missing ';' before identifier 'Buffer'
    include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    include\winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int


привожу содержимое данных строк в winnt.h
222 - typedef void * POINTER_64 PVOID64;
5940 - PVOID64 Buffer;

Подскажите. В чём проблема?


Токо у меня переход с VS6 на VS8.
Подскажите, пожалуйста что надо сделать, чтобы скомпилировалось?

Добавлено
Ладно, нашел решение вот тут.

Автор: ak7x 17.03.09, 18:06
Подскажите, пожалуйста, как в VS2005 добавить дополнительные модули для отладки?
В VC6 это было в окне Project Settings, закладка Debug, Category: Additional DLLs.
А в VS2005 нигде не вижу...

Автор: Mokar 25.03.09, 14:12
скачал Vicrosoft Visual Studio 2005 установил, возникли проблемы написанию кода на С++. создаю проект а файл с расширением .cpp не создается. подскажите что и как? мож левая прога. ссылочку с работающей программой скиньте будьте добры

Автор: B.V. 25.03.09, 14:14
Цитата Mokar @
создаю проект а файл с расширением .cpp не создается

Галочку Empty project не выставлял? Вообще, какой проект пытался создать?

Автор: Mokar 25.03.09, 14:21
C++

Автор: B.V. 25.03.09, 14:36
А тип? Win32 API? Или MFC?

Автор: Adil 26.06.09, 13:46
Не нашел в топике: приложения с++, собранные статически в VS2008, так же требуют установки redist.pack'a в другой системе для избежания краха, как это было для 2005ой студии?

Автор: B.V. 26.06.09, 14:41
Собранные статически не требуют redist'а.

Автор: Adil 27.06.09, 07:05
Цитата B.V. @
Собранные статически не требуют redist'а.
Уточню на всякий случай - насколько помню, собранная в 2005-ой (В 2003ей этого не было) статически прога просто падала с "произошла ошибка, несовместимая с жизнью" (точнее "This application has failed to start because the application configuration is incorrect") без redist'а, по крайней мере - в XP SP1,2, если ничего не путаю. Т.е. приходилось таскать redist даже со статически собранной прогой. Это осталось 2008ой или исправили?

Автор: n0rd 27.06.09, 08:04
Если собирать с ключом /MT, то библиотеки таскать не надо, как в 2005, так и в 2008. Если с /MD (по умолчанию собирается с ним), то надо.

Автор: Adil 28.06.09, 08:21
Ребят, я знаю разницу между сборкой со статическим либами и динамическими. Я про другое.

Автор: B.V. 06.07.09, 19:51
Цитата Adil @
если ничего не путаю

Наверно, таки путаешь. При статический линковке рантайм включается в exe, никакой redist ему не нужен

Автор: Мальчиш 10.07.09, 20:34
Цитата B.V. @
При статический линковке рантайм включается в exe, никакой redist ему не нужен

:yes:

Автор: aanntt0 08.03.10, 14:20
Подскажите пожалуйста. Пишу исходник в Microsoft Visual C++ 2008 Express Edition. Компилирую - все нормально, работает. вношу какие либо изменения в коде и пытаюсь заново скомпилировать. Выдает вот такую ошибку.

1>------ Построение начато: проект: 5_stepen', Конфигурация: Debug Win32 ------
1>Компиляция...
1>stepen'.cpp
1>Компоновка...
1>LINK : fatal error LNK1168: не удается открыть C:\Users\Anton\Documents\Visual Studio 2008\Projects\5_stepen'\Debug\5_stepen'.exe для записи
1>Журнал построения был сохранен в "file://c:\Users\Anton\Documents\Visual Studio 2008\Projects\5_stepen'\5_stepen'\Debug\BuildLog.htm"
1>5_stepen' - ошибок 1, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Для устранения приходится сохранить мой.cpp и закрыть прогу. через 2 минуты отрывать. тогда запускается компиляция. Ни чего не могу поделать.

Автор: trainer 08.03.10, 14:21
Это у тебя проблема перехода с более ранней версии?

Автор: aanntt0 08.03.10, 14:31
Извини но я тебя не понял. можешь по проще ответить. я только начал изучать С++

Автор: trainer 08.03.10, 15:49
Ты название темы прочитал? Тебе там все буквы понятны? Буквы в слова правильно собрались?

Автор: Sonic Sonedit 11.07.10, 07:44
Здраствуйте, мой вопрос пожалуй больше всего подойдёт к этой теме.
Пишу в основном на дельфи и борланд си (BDS 2006), но решил переходить на вижуал си (многие знакомые говорят, что когда будет серьёзная работа, то 90% проектов будет именно на нём), благо синтаксис почти такой-же.
Достались мне тут по наследству исходники одной программы, написанные на т.н. native си, т.е. без дизайнера в принципе и, если я не ошибаюсь, то на VS6.0 - попытался добавить в проект CLR форму с нормальным дизайнером и сразу столкнулся с кучей непонятных вещей:
во-первых, когда я пытаюсь написать (к примеру) button1-> не появляется выпадающего списка, как будто есть какая-то ошибка, но тем не менее все формы записи типа button1->Text и т.п. компилируются абсолютно нормально. Если создать новый проект то после -> список появляется. В чём может быть проблема? Нет, я в принципе могу и без него писать, но это несколько неудобно, ибо CLR от VCL всё-же отличается и я могу ненароком по привычке не то вбить.
во-вторых, старая программа реализована через инклюды, и когда я пытаюсь добавить приведённое ниже, то возникает множество ошибок:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    #include "lib/Defs.h"
    #include "lib/Thread.h"
    #include "lib/ActiveConnector.h"
    #include "lib/MTQueue.h"
     
    #include "lib/ResizableWindow.h"
    #include "lib/Label.h"
    #include "lib/Edit.h"
    #include "lib/Button.h"
    #include "lib/ListBox.h"
    #include "lib/Container.h"
    #include "lib/OpenGLCanvas.h"
    #include "lib/Icon.h"
     
    #include "ILog.h"
    #include "IOnDisconnect.h"
    #include "IStatUpdate.h"
     
    #include "Config.h"
    #include "RecvThread.h"
    #include "SendThread.h"
    #include "AIThread.h"
     
    #include "HeightMap.h"
    #include "MapRenderThread.h"
    #include "PWObjectManager.h"
Предположим те, что из lib мне уже не нужны, ибо я заменяю их на аналогичные из CLR, но те что ниже их - нужны. При попытке их проинклюдить куда - либо в новую форму вылезает куча ошибок, возможно мой вопрос очень нубский, но я действительно тут в растерянности (после BDS это ужасы какие-то просто) и не знаю, что делать - прошу помощи!

Автор: Adil 11.07.10, 09:27
Основная проблема, пожалуй в том, CLR - это не
Цитата Sonic Sonedit @
вижуал си
в том смысле, что это не C/C++.
Тебе вообще надо упорядочить знания о языках (или тут упорядоченно употреблять термины) - C, С++, С++/CLI (работает в среде CLR) - это три разных языка. Код C довольно легко поддерживается компиляторами C++, а вот насчет поддержки кода С или С++ компилятором C++/CLI (если это можно назвать компилятором) - сильные сомнения меня терзают.

Если хочешь GUI именно на C++, то самое простое на данный момент - использовать библиотеку Qt. Грубо говоря - это кроссплатформенная и кросскомпиляторная VCL :). Для той же Visual Studio есть Qt Integrator.

Автор: Sonic Sonedit 11.07.10, 14:39
Цитата
C, С++, С++/CLI (работает в среде CLR) - это три разных языка.
В этом и проблема основная.
Цитата
Если хочешь GUI именно на C++, то самое простое на данный момент - использовать библиотеку Qt. Грубо говоря - это кроссплатформенная и кросскомпиляторная VCL :). Для той же Visual Studio есть Qt Integrator.
Можно поподробнее? Так-же я слышал что существуют кустарные дизайнеры форм для С++, где можно такой найти?

Автор: Adil 11.07.10, 15:12
ну, Qt шный дизайнер я бы кустарным не назвал.
http://qt.nokia.com/products/ Качай Qt SDK, там все есть, даже компилятор Mingw. Но можно натравить и на MSVC, и даже работать в его шкуре - я уже упоминал - об интеграторе со студией

Автор: Sonic Sonedit 12.07.10, 09:10
О, спасибо большое! :good:

Автор: Vladimir_ 05.01.11, 20:31
Такая проблема:
Проект был сделан на Visual Studio 2003.
Нужно его чуть-чуть подправить, но в русскоязычной 2008 студии. При открытии согласился с конвертированием.
Добавил на форму чекбокс с русским текстом. После компиляции и запуска проекта текст выводится вопросиками.
Подскажите, пожайлуста, как с этим бороться?

Автор: B.V. 07.01.11, 10:55
Установкой правильной локали в ресурсах

Автор: Vladimir_ 07.01.11, 12:46
Цитата B.V. @
Установкой правильной локали в ресурсах

Спасибо, получилось!

Автор: s_kor3 17.05.11, 14:39
Собираемся переводить проект с VS2003 (VBasic) сразу на VS2010. Это вообще реально? Кто-нибудь так уже переходил?

Автор: B.V. 17.05.11, 14:48
С VB.NET -- немного в другой раздел: .NET: Общие вопросы

Автор: Besha 17.05.11, 16:07
Цитата s_kor3 @
Собираемся переводить проект с VS2003 (VBasic) сразу на VS2010. Это вообще реально?

а почему бы и нет...VS2010 конвертирует проекты написанные в старых студиях ...

Автор: ICEMAN3141592 12.09.11, 14:50
Господа, нужна помощь. Есть сервер, использует динамические библиотеки от MS Studio 2003, перехожу на MS Studio 2010, есть исходники. Если пересобрать проект, "новые" dll- ки схиляют для сервера. Какие могут быть варианты вообще ?

Автор: trainer 12.09.11, 14:56
Вариант - описАть здесь проблему, используя понятные слова и выражения.
Цитата ICEMAN3141592 @
схиляют для сервера
Этот глагол обозначает что-то хорошее, плохое или вообще ничего не обозначает?

Автор: ICEMAN3141592 13.09.11, 05:53
В данном случае, "схиляет" = "прокатит" = "пройдут"...
Цитата Adil @

Это он пытается по фене ботать, тока не знает, что такое "хилять".

Знаю, что означает "хилять", просто это слово можно и в другом контексте использовать %)

Я прошу помощь оказать, а Вы тут филологические курсы устроили, вроде же Модераторы.

Во общем, есть сервер, не я его писал, даже не знаю устройство внутреннее его, НО он принимает dll, скомпилированную от VS 2003, если я исправлю исходники, из которых составляется эта dll в VS 2010, то примет "новую" dll сервер ? Читал на разных постах, что есть вар, что нет, но в большинстве случаев нормально, но я же не могу полагаться на то, что прокатит до поры до времени.
Суть проблемы ясна.

Цитата trainer @
Вариант - описАть здесь проблему, используя понятные слова и выражения.

Неужели до этого было не понятно ?

Автор: ICEMAN3141592 13.09.11, 12:51
Тема закрыта

Автор: бУРов 24.01.13, 12:04
Цитата ICEMAN3141592 @
Тема закрыта

А почему?

Автор: B.V. 24.01.13, 13:49
Цитата бУРов @
А почему?

:D
Тема автора закрыта, а не вся эта тема.

Автор: бУРов 25.01.13, 05:42
Какие способы переноса ранних C++ VS-проектов (VS2003/08) в VS2010?
Я знаю:
1 Запуск файла .vcproj
2 Запуск файла .sln
3 Создание проекта из существующего кода
4 Создание проекта Win32 и копирование в него исходников+проектныйх файлов. Далее пп. 1 или 2.
Какие есть ещё?
Какие лучше-правильнее?
Мне п.2 показался более правильным.

Автор: Pozhar 26.04.18, 10:53
Тебе надо сильно постараться, чтобы поведение программы стало неизвестным. В частности, написать свою ловушку для неправильных аргументов, в которой ты будешь игнорировать такие вещи.

Автор: LoxanneCat 01.07.18, 13:00
я же написал, что мне нужно именно для VS. Как сделать в Delphi я и так знаю.

pacniwassano, не понял, что Вы имеете в виду под "связать их" ?

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