![]() |
|
|
![]()
|
|
| Saphir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Здравствуйте.
Создал проект MFC, в нем 3 диалога: главный диалог, диалог для ввода данных и диалог для вывода. Передавать данные я хочу через глобальные переменные. Объявляю глобальную переменную в диалоге ввода, там инициализирую ее, вызывая метод, в котором выделяю память и инициализирую члены, в том числе член-указатель этой памятью. Отладчик показывает, что все члены объекта были правильно инициализированы. Далее в диалоге вывода я объявляю эту переменную с параметром extern, и в конструкторе диалога вывода я вызываю метод этой глобальной переменной, пытаясь инициализировать переменные диалога. При вызове этого метода в отладчике значение члена-указателя - Bad Ptr. Вопросы: почему там Bad Ptr и как получить вместо Bad Ptr нормальный указатель?.. |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Saphir, покажи как объявляешь.
Работа с глобальными переменными - не есть хорошо. -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| Saphir |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Andrey44, это моя первая программа, использующая MFC. Поэтому сначала решил попробовать такой способ и наткнулся на эту ошибку...
В реализации диалога ввода
В реализации диалога вывода
|
||||||
|
|||||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| Saphir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Теперь вылезает Out.obj : error LNK2001: unresolved external symbol "class CTv tv" в реализации диалога вывода, несмотря на то что там есть #include "In.h" (заголовочный файл диалога ввода)
|
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
ну да, конечно Лучше тогда глобальный объект делать указателем, потому что его надо инициализироватьж
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| Saphir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 25.2.2010 Репутация: нет Всего: нет |
Все та же ошибка линковки осталась.
Это сообщение отредактировал(а) Saphir - 26.2.2010, 16:14 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |