Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с MFC Grid Control, Сердешные программёры, помогите!! 
V
    Опции темы
Nikopol87
Дата 23.4.2006, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 Всем привет.Это полный конец.
 Сижу уже четыре дня с MFC GRID CONTROL  и никак его не могу подключить к моей  программе.Все делал как написано на сайте, у меня последняя версия.

http://www.codeproject.com/miscctrl/gridctrl.asp
Хоть убейте, выдает анресолд линки.

1>Linking...
1>Dialog1.obj : error LNK2019: unresolved external symbol "public: __thiscall CGridCtrl::CGridCtrl(int,int,int,int)" (??0CGridCtrl@@QAE@HHHH@Z) referenced in function "public: __thiscall Dialog1::Dialog1(class CWnd *)" (??0Dialog1@@QAE@PAVCWnd@@@Z)
1>Dialog1.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall CGridCtrl::~CGridCtrl(void)" (??1CGridCtrl@@UAE@XZ) referenced in function "public: virtual __thiscall Dialog1::~Dialog1(void)" (??1Dialog1@@UAE@XZ)
1>.\DebugUnicode\mfc.exe : fatal error LNK1120: 2 unresolved externals
1>Build log was saved at "file://c:\Papka\mfc\mfc\DebugUnicode\BuildLog.htm"
1>mfc - 3 error(s), 0 warning(s)

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

Пишу на студии 2005 года, система XP. 
PM MAIL   Вверх
Бугемот
Дата 23.4.2006, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



OK - so how do you use it? 

The underlying class of the grid control is CGridCtrl which is derived from CWnd. To use it, either use the MS Visual C++ dialog editor to place a custom control on a dialog, and enter "MFCGridCtrl" (no quotes) as the Class name. To subclass the control using the DDX mechanism (this will be done by default by the ClassWizard) use the DDX_GridControl function instead of the DDX_Control function (just manually change the ClassWizard entry). This ensures your control is correctly registered as a drop target and avoids some weird win95 issues.
это с той ссылки, которую Вы привели.
а Вы #include "GridCtrl.h" сделали? 
PM MAIL   Вверх
Любитель
Дата 23.4.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А ты добавил его cpp файлы к проекту. Посмотри в папку DebugUnicode есть ли там файл GridCtrl.obj.
Инклюд есть, иначе бы CGridCtrl был бы не определён. 

Это сообщение отредактировал(а) Любитель - 23.4.2006, 18:50


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


Новичок



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

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



to Бугемот
   Инклуд у меня есть, именно этот - #include "GridCtrl.h"

to Любитель
  В папке Debug моего проекта не было GridCtrl.obj. 
Я его туда положил из примера к MFC Grid Control - <gridctrl_demo226> и ничего не помогло, все равно эти же ошибки.

Этот пример кстати у меня нормально компилится и работает, если же я создаю свой проект любого типа - MFC APP или WIN32, указываю инклуд и пытаюсь создать переменную типа CGridCtrl - все равно эти три ошибки выскакивают.

Все .cpp и  .h файлы грида я добавил в папку и указал ее в директориях поиска.Не знаю, чего он не находит реализации у меня(
Если я в программе укажу GridCtrl.cpp, то выскочит 128 ошибок.

Добавлено @ 20:53 
Прямо не знаю что делать, магия какая - то(( 
PM MAIL   Вверх
OverBug
Дата 23.4.2006, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 13.4.2006
Где: г.Пенза, Пензенск ой обл.

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



Думаю, если ошибки возникают при линковке, то нужно либы необходимые включить в проект. А ты не побовал демопроект закачать? Там обычно пример использования приводят: что, как и к чему. 
PM MAIL ICQ   Вверх
Earnest
Дата 24.4.2006, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Nikopol87 @  23.4.2006,  21:51 Найти цитируемый пост)
Все .cpp и  .h файлы грида я добавил в папку 

Цитата(OverBug @  24.4.2006,  00:32 Найти цитируемый пост)
Думаю, если ошибки возникают при линковке, то нужно либы необходимые включить в проект

Не либы, а прямо эти cpp-файлы, где код грида, нужно включить в проект.
Ну подумай сам, вот ты написал какой-либо класс. Потом cpp-файл с кодом взял и выкинул из проекта. Что будет? Вот и у тебя то же самое: думаешь, компилятору не все равно, что код писал не Вася Пупкин, а Jon Smith  smile  
 


--------------------
...
PM   Вверх
Любитель
Дата 24.4.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



В Solution Explorer правый клик по проекту, Add => Add exciting item..., выделяешь все cpp и h (последнее в принципе не обязательно, но нужно для нормальной работы Class View), скачанные тобою, жмёшь Open. Билдишь. Всё работает.
Реализация контрола лежит в его файлах cpp. Ты их не добавил в проект, следовательно компилер их не компилит (не генерирует .obj файл), а линкер не пытается их слинковать (даже если ты кинешь .obj в папку). 


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


Новичок



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

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



to Earnest
  В этом пакете даже либ никаких не было, только файлы .cpp и .h без проекта.Я положил все в одну папку и включил в директории поиска, в includes. Это же автоматом включение в принципе? )
 to Любитель
   В Солютион прямо на названии кликнул, выскочило меню.Добавил все в проект, появилась новая папочка в проекте под названием Солютион с этими всеми включенными файлами.Пошел в меню прожект, там увидел билд(F5) и нажал.
Те же ошииибки!!!(((

*Я тут нарвался на статьи Кокки, и решил делать свою таблицу, хоть это и не так легко, как использовать MFC GRID(
Но если можете помочь с этим крутым гридом, то...помогите)! 
PM MAIL   Вверх
Любитель
Дата 25.4.2006, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Nikopol87 @  24.4.2006,  18:06 Найти цитируемый пост)
под названием Солютион 

??? Надо было щёлкать по проекту, а не солюшену., тогда бы они у тебя раскидались по сорсам и хейдерам.
Попробуй ещё smile 
 


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


Новичок



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

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



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

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


 




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


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

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