Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с MFC extension 
:(
    Опции темы
Competitor
Дата 21.7.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Привет всем,
Создал простую MFC extencion (MyExt.dll), в ней один MFC класс, наследуемый от CWnd, в котором окно просто закраваиется цветом. Второй С++ класс.
В другом проекте, в свойствах ставлю Linker->input->MyExt.lib, в файле MyAppView подключаю хеадеры, либу и длл скинул в папку с проектом. пытаюсь юзать: 
Код

CMyClass myClass;
int sum = myClass.GetSum(2, 4);

В ответ много ошибок:
unresolved бла блабла
Что я упустил?
PM MAIL WWW   Вверх
voov
Дата 21.7.2008, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


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

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



экспорт/импорт классов/методов делал?
__declspec(dllexport)
__declspec(dllimport)
PM MAIL   Вверх
Competitor
Дата 21.7.2008, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

экспорт/импорт классов/методов делал?
__declspec(dllexport)
__declspec(dllimport) 

поставил для соответствующих классов эти аттрибуты. Теперь проект собирается нормально, обычный плюсовый класса юзается без проблем, но вот MFC'ное окошко не получать вывести на форму, ошибка выполнения появляется.
Вот MFC класс, который находится в dll:
Код

#include "Header1.h"

// CSuperWnd

class CUSTOMCONTROL_DLLAPI CSuperWnd : public CWnd
{
    DECLARE_DYNAMIC(CSuperWnd)

public:
    CSuperWnd();
    virtual ~CSuperWnd();

protected:
    DECLARE_MESSAGE_MAP()
public:
    afx_msg void OnPaint();
};

#include "stdafx.h"
#include "SuperWnd.h"

// CSuperWnd

IMPLEMENT_DYNAMIC(CSuperWnd, CWnd)

CSuperWnd::CSuperWnd()
{

}

CSuperWnd::~CSuperWnd()
{
}

BEGIN_MESSAGE_MAP(CSuperWnd, CWnd)
    ON_WM_PAINT()
END_MESSAGE_MAP()

void CSuperWnd::OnPaint()
{
    CPaintDC dc(this); // device context for painting
    
    CRect clientRect;
    GetClientRect(clientRect);
    CBrush brush(RGB(0, 255, 255));
    dc.FillRect(clientRect, &brush);
    // Do not call CWnd::OnPaint() for painting messages
}


в своем проекте пытаюсь вывести это окно на форму так:
Код

superWnd.Create(0, "TitlePanel", WS_BORDER | WS_VISIBLE | WS_CHILD, CRect(186, 14, 528, 60), this, IDC_SUPERWND);

В чем не прав? Как правильно импортнуть окошко из MFC расширения?
PM MAIL WWW   Вверх
voov
Дата 21.7.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


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

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



может дело в IDC_SUPERWND. где он объявляется?
PM MAIL   Вверх
Competitor
Дата 21.7.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

может дело в IDC_SUPERWND. где он объявляется? 

в Resource.h как обычно.
Вот два тестовых проекта: MFC extension и клиентское приложение залил сюда
По идеи это ведь должно быть просто засунуть всякие гуишные контролы  в dll, и потом спокойно юзать их, подключая либу.
PM MAIL WWW   Вверх
voov
Дата 21.7.2008, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


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

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



Цитата(Competitor @  21.7.2008,  15:12 Найти цитируемый пост)
в Resource.h как обычно

понятно, что в ресурсах. я имел ввиду в ресурсах библиотеки или в ресурсах клиента
PM MAIL   Вверх
Competitor
Дата 21.7.2008, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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


 




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


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

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