Поиск:

Ответ в темуСоздание новой темы Создание опроса
> два проекта 
V
    Опции темы
tonchitos
Дата 31.3.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



у меня один проект mdldll с парсером и прочим, а второй - mdi. У меня в окне отнаследованном от формвью есть дерево.
при открытии файла вызывается ф-ия из первого проекта и в ней мне надо дерево рисовать, а файл, описывающий дерево не подключен, при подключении ошибку выдает


1>MDLFontManager.cpp
1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
1>MDLManager.cpp
1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
1>MDLParser.cpp
1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
1>ErrorReporter.cpp
1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
1>MDLAttributeDecoders.cpp
1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
1>MDLFilters.cpp
1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
1>MDLNameResolution.cpp
1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
1>MDLPrettyPrinter.cpp
1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
1>MDLPruner.cpp
1>c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
1>MDLUtilityFunctions.cpp



--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
tonchitos
Дата 31.3.2008, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



мне нужно подключить файл с описанием три контрола, он описан в afxcmn.h
если я его включаю, то получается ошибка - файл fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>
как быть или я вообще не так действую?




--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
Rapalex
Дата 31.3.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



Да... видать опять что-то не то.

Цитата(tonchitos @  31.3.2008,  17:43 Найти цитируемый пост)
afxcmn.h
если я его включаю, то получается ошибка

Так и не надо его подключать.

А по первому посту я не понял...


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
Earnest
Дата 1.4.2008, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(tonchitos @  31.3.2008,  17:56 Найти цитируемый пост)
Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

Тут же все написано: использование флага MD требует, чтобы MFC была подключена как shared multithread? либо вообще не подключай ее. Но если тебе нужно дерево CTreeCtrl, то не подключать не получится. Хотя я не понимаю, зачем тебе в проекте с парсером дерево. По идее должно быть MDI-приложение с MFC и DLL с парсером, без MFC. Вот так и сделай.



--------------------
...
PM   Вверх
tonchitos
Дата 1.4.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

если дерево в одном проекте, а контрол в другом....


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
Earnest
Дата 1.4.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Тогда зачем тебе два проекта? Если все у тебя в одном делается - и чтение, и вывод в дерево?

А как иначе - да просто: парсер может существовать сам по себе (как DLL) и только читать, а приложение использует его функции...


--------------------
...
PM   Вверх
tonchitos
Дата 1.4.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



в BOOL CreadModelDoc::OnOpenDocument(LPCTSTR lpszPathName)
вызывается
    CmdlPrettyPrinter::Print(petalFile,(_TCHAR *)lpszPathName);
Код


BOOL CreadModelDoc::OnOpenDocument(LPCTSTR lpszPathName)
{

    InitializeMDL();    
    tBatchErrorList BatchErrorList;
    CErrorReporter::GetInstance().SetErrorList(BatchErrorList);

    CmdlPetalFile* petalFile = new CmdlPetalFile;
    CmdlParser mdlParser;
    std::list<CmdlUnitObject*> unloaded;
    try
    {
        mdlParser.Parse(lpszPathName, *petalFile, unloaded);
    }
    catch(mdl::MDLException& e)
    {
        mdl::tstring str;
        e.ToString(str);
        wcout << _T("MDL API Error : ") << str.c_str() << endl;
    }

    CmdlPrettyPrinter::Print(petalFile,(_TCHAR *)lpszPathName);
................

    

Код

    void CmdlPrettyPrinter::Print(const CmdlPetalEntity* pEntity, _TCHAR* fileName)
    {
        CmdlPrettyPrinterImpl pp;
        pp.Visit(pEntity);
...........


Код


   virtual void Visit(const CmdlPetalEntity* pEntity)
            {
.....................

       NL();
                ++indent;
                base::Visit(pEntity);//virtual void Visit(const CmdlPetalEntity* pEntity) - wir sind hear
                --indent;
            }

Код


   virtual void Visit(T* pObj)
        {
.............
...........
    for (size_t i = 0 ; i < nSize ; i++)
            {
                VisitMetaFeature(cFeatures[i],pObj);
            }
        }
Код



   virtual void VisitMetaFeature(const CmdlMetaFeature* pMetaFeature,const CmdlPetalEntity* pEntity)
            {
                switch(pMetaFeature->GetKind())
                {



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


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
Earnest
Дата 1.4.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



tonchitos, зачем столько букв написала, ничего не проясняющих!

Не знаю кто-такой  CmdlPrettyPrinter, но OnOpenDocument явно говорит о том, что это MFC-приложение.
И в чем проблема-то?


--------------------
...
PM   Вверх
tonchitos
Дата 1.4.2008, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



у меня 2 проекта, первый, с парсером и прочими штучками, второй - мфс.

во втором проекте в файле докмента я подключаю первый:
#include "MDL.h"

CmdlPrettyPrinter - класс из первого проекта...
Код


namespace mdl
{
    class MDLDLL_API CmdlPrettyPrinter
    {
    public:
        static void Print(const CmdlPetalEntity* pEntity, _TCHAR* fileName);
    };
}


в принте обегается все дерево и выводится в консоль (а мне консоль не нужна)

в принте вызывается ф-ия 

        CmdlPrettyPrinterImpl pp;
        pp.Visit(pEntity);


а визит по сути рекурсия...

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

в мдл класс дерево еще неизвестен...


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
tonchitos
Дата 1.4.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



как же подключить к первому проекту контролы?


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
tonchitos
Дата 1.4.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



один проект MDLDLL
второй мфс...

первый подключен ко второму....мне нужно в первом знать тип CTreeCtrl...как лучше подключить и што...
подключение #include "stdafx.h"
дает кучу ошибок


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
tonchitos
Дата 1.4.2008, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



людииииииииииииииии


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
tonchitos
Дата 1.4.2008, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



все, босс сказал как делать  smile 

наследовать и добавлять че надо  smile 


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
Rapalex
Дата 2.4.2008, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



Тоня, топик закрой.


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
Owyn
Дата 14.5.2009, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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