Поиск:

Ответ в темуСоздание новой темы Создание опроса
> заставить новую студию собирать проекты старой, 6 -> 8/9 
:(
    Опции темы
_hunter
  Дата 1.2.2008, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



Добрый день.

Есть некий проект 6-й студии. Хотелось бы перевести его на что-нить по-новее с минимальными затратами времени/правкой кода.
в проекте есть куча таких:
Код

    for (int Count=0 ; LocalBuf[Count] ; Count++)
        LocalBuf[Count] = tolower (LocalBuf[Count]) ;

    int Limit=NetList.GetSize () ;
    for (Count=0 ; Count < Limit ; Count++)
    {

веселостей. 8-ка на это естественно ругается. Можно ли ее как-то заставить собирать такие штуки?

С уважением...

Это сообщение отредактировал(а) _hunter - 1.2.2008, 17:12


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
maxim1000
Дата 1.2.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



в свойствах проекта C/C++/Language есть опция Force Conformance In For Loop Scope. Сильно смахивает на то, что нужно, хотя я ней не пользовался пока...


--------------------
qqq
PM WWW   Вверх
_hunter
Дата 1.2.2008, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



спасибо: частично помогло.
осталось такое:
Код

static CString GatherSTATE( CProjList& project )
{
    return CString('0'+project.Type)+CString('0'+project.Status)+CString('0'+project.Priority)+CString('0');
}

"error C2440: '<function-style-cast>' : cannot convert from 'int' to 'CString'"
project.Type/project.Status/project.Priority -- int'ы. хватит ли тут приведения int'а к char'у?
и такое:
Код

    catch(CException e)

"error C2259: 'CException' : cannot instantiate abstract class"
тут, как я понимаю, нужно ловить CException&?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Любитель
Дата 1.2.2008, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 7
Всего: 92



В первом примере что вообще хотели сделать? smile

Цитата(_hunter @  1.2.2008,  19:26 Найти цитируемый пост)
тут, как я понимаю, нужно ловить CException&? 

Угу.


--------------------
PM MAIL ICQ Skype   Вверх
_hunter
Дата 1.2.2008, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



Цитата(Любитель @  1.2.2008,  19:21 Найти цитируемый пост)
В первом примере что вообще хотели сделать?

если б я знал...

пофиксил CException'ы -- полезли такие:
Код

    char *StrPtr = strchr (Path, '.') ;

("error C2440: 'initializing' : cannot convert from 'const char *' to 'char *'")
штуки (CString Path ;)

Это сообщение отредактировал(а) _hunter - 1.2.2008, 21:34


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
_hunter
Дата 1.2.2008, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



еще такое:
Код

    _AFX_THREAD_STATE*    pThreadState = AfxGetThreadState();

    if (pThreadState && pThreadState->m_pToolTip == m_pResultList->m_pToolTip)
    {

("error C2039: 'm_pToolTip' : is not a member of '_AFX_THREAD_STATE'")
вылезло. смотрел объявление _AFX_THREAD_STATE -- там действительно нет m_pToolTip (и ничего похожего нет)...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Любитель
Дата 1.2.2008, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 7
Всего: 92



Цитата(_hunter @  1.2.2008,  20:44 Найти цитируемый пост)
("error C2440: 'initializing' : cannot convert from 'const char *' to 'char *'")

Попробуй заменить на const char* StrPtr - или там хотят таким образом модифицироват ьстроку?

Цитата(_hunter @  1.2.2008,  19:26 Найти цитируемый пост)
GatherSTATE

Где и как это юзается? Есть намёки на цель применения? smile


Цитата(_hunter @  1.2.2008,  21:33 Найти цитируемый пост)
("error C2039: 'm_pToolTip' : is not a member of '_AFX_THREAD_STATE'")
вылезло. смотрел объявление _AFX_THREAD_STATE -- там действительно нет m_pToolTip (и ничего похожего нет)... 

Мда... Это совсем странно... А проект в 6-ке работал хоть? smile


--------------------
PM MAIL ICQ Skype   Вверх
dizzy1984
Дата 4.2.2008, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: 10
Всего: 25



Код

static CString GatherSTATE( CProjList& project )    
{    
    return CString('0'+project.Type)+CString('0'+project.Status)+CString('0'+project.Priority)+CString('0');    
}

Похоже здесь имеется в виду следующее. пытаются использовать CString(char) и чтобы перейти от чисел к символам прибавляют значение кода символа '0'. Это кривовато и будет работать только если Type, Status и Priority от 0-9. По-видимому, да, тут просто можно сделать привидение int'ов к char'ам.
PM MAIL   Вверх
BorisVorontsov
Дата 4.2.2008, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: нет
Всего: 10



Цитата(_hunter @  1.2.2008,  20:44 Найти цитируемый пост)
("error C2440: 'initializing' : cannot convert from 'const char *' to 'char *'")
штуки (CString Path ;)


Вот никак не могу понять, зачем некоторые находчивые люди смешивают MFC'шный CString с сишным char* и CRT'шными функциями str___? Объяви уже Path как char*, или используй CString::Find вместо strchr.


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
_hunter
Дата 4.2.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



Любитель, оно в 6-ке и собирается и работает -- это основная среда разработки проекта.
я посмотрел declaration этого _AFX_THREAD_STATE -- в версии 6-й студии там есть такие:
Код

    // common controls thread state
    CToolTipCtrl* m_pToolTip;
    CWnd* m_pLastHit;       // last window to own tooltip
    int m_nLastHit;         // last hittest code
    TOOLINFO m_lastInfo;    // last TOOLINFO structure
    int m_nLastStatus;      // last flyby status message
    CControlBar* m_pLastStatus; // last flyby status control bar

уже в 7-ке (7.1) их нет...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
_hunter
Дата 4.2.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



с _AFX_THREAD_STATE* разобрался: оказывается вместо AfxGetThreadState() нужно AfxGetModuleThreadState() юзать.

но появилась другая проблема: я получаю ошибку "error PRJ0019: A tool returned an error code from "Performing Custom Build Step""
но в Custom Build Step проекта пусто...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Любитель
Дата 4.2.2008, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 7
Всего: 92



Цитата(_hunter @  4.2.2008,  15:45 Найти цитируемый пост)
но в Custom Build Step проекта пусто...

Студию давно не юзал (по крайней мере для плюсов..) - точно не помню, но по-моему стоит кастом билд степы для отдельных файлов посмотреть.


--------------------
PM MAIL ICQ Skype   Вверх
Earnest
Дата 9.2.2008, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



_hunter, если проект должен жить и в той, и в той среде - труба... особенно, если он большой...
Если надо мигрировать с 6 на 7-8, это здравая идея, но приготовься к суровым будням отладки. Лучше все в коде исправить, согласно стандарту, а не пытаться с помощью опций проекта заставить код скомпилироваться.
Потому что это еще не все. Успешно скомпилированный код не факт, что будет везде правильно работать - есть существенные изменения в MFC и в STL... возможны всякие чудеса вроде использования не того инстационирования шаблона и прочая. Два года назад я убила месяц только на то, чтобы скомпилировать проект (больше гига исходных текстов, с ресурсами и т.д.), а потом еще 2 месяца вылавливали баги с помощью тотального тестирования.


--------------------
...
PM   Вверх
JackYF
Дата 9.2.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



Цитата(Earnest @  9.2.2008,  08:56 Найти цитируемый пост)
больше гига исходных текстов

 smile  smile 


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1936 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.