PropertyPage

 
Начать новую тему   Ответить на тему    Список форумов DirectShow форум -> Фильтры
Предыдущая тема :: Следующая тема  
Автор Сообщение
djan
Новенький


Зарегистрирован: 27.07.2007
Сообщения: 6
Откуда: от туда

СообщениеДобавлено: Пт Май 16, 2008 2:07 pm    Заголовок сообщения: PropertyPage Ответить с цитатой

Не получается добавть PropertyPage в PushSouce фильтр. Для добавления пользуюсь сатьей
Transform фильтр и примерами из DirectShowSDK. Добавляю в проект ресурс диалога, ресурс строки, добаляю .h и .cpp для реализации страницы. После
Код:

// .h файл
class CPushProperties : public CBasePropertyPage
{
public:
   static CUnknown * CreateInstance(LPUNKNOWN lpunk, HRESULT *phr);
private:
   CPushProperties(LPUNKNOWN lpunk, HRESULT *phr);
}

и соответвенно его реализация
Код:

#include "PushPropertyPage.h"
#include "resource.h"


CUnknown * CPushProperties::CreateInstance(LPUNKNOWN lpunk, HRESULT *phr)
{
   ASSERT(phr);

   CPushProperties *pNewObject = new CPushProperties(lpunk, phr);

   if (pNewObject == NULL)
   {
      if (phr)
         *phr = E_OUTOFMEMORY;
   }

   return pNewObject;
}

CPushProperties::CPushProperties(LPUNKNOWN lpunk, HRESULT *phr) :
              CBasePropertyPage(TEXT("PushPropertyPage"),
              lpunk,
              IDD_PROP_DIALOG,
              IDS_PROP_CAPTION)
{
   ASSERT(phr);
}

Но после этого компилятор ругается 'CBasePropertyPage' : base class undefined и еще около 12 аналогичных ошибок. Что нужно настроть в проекте для нормальной его работы?
Проект тут
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
roma
Активный


Зарегистрирован: 03.04.2007
Сообщения: 31
Откуда: Донецк

СообщениеДобавлено: Пт Май 16, 2008 4:25 pm    Заголовок сообщения: Ответить с цитатой

Возможно у тебя базовые классы непрокомпилированные и поэтому нет Strmbase.lib и Strmbasd.lib, которые потом нужно подключить в settings проекта.

ИЛИ:
У меня была такая проблема при использовании DirectShow на Delphi: в файле BaseClass.pas была следующая строка
{$DEFINE WITH_PROPERTY_PAGE}, которая позволяла использовать свою форму для страницы настроек фильтра (использовался класс TFormPropertyPage), и в этом случае класс TBCBasePropertyPage недоступен, а при включении {.$DEFINE WITH_PROPERTY_PAGE} наоборот.
_________________
vromav@rambler.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
djan
Новенький


Зарегистрирован: 27.07.2007
Сообщения: 6
Откуда: от туда

СообщениеДобавлено: Пт Май 16, 2008 4:31 pm    Заголовок сообщения: Ответить с цитатой

Классы скомпилены, ошибки возникают при включени в проект
PushPropertyPage.h и PushPropertyPage.cpp, без них проект компилится и линкуется. Проблема похоже в настройках проекта
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DirectShow форум -> Фильтры Часовой пояс: GMT + 4
Страница 1 из 1
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB


Рейтинг@Mail.ru