|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.06.2013, 22:56 | #1 |
Пользователь
Регистрация: 04.06.2009
Сообщений: 46
|
Взаимодействие между 2 классами
Всем доброе время суток!
Помогите разобраться как взаимодействовать с 2мя классами. У меня есть главный диалог класса CnotepadDlg и немодальный диалог класса Dialog. В классе Dialog пытаюсь воздействовать на элементы, которые принадлежат классу CnotepadDlg. Вот мой неработающий пример Код:
|
27.06.2013, 23:07 | #2 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
Посмотри что находится в фале, указанном в сообщении об ошибке на 359 строке. Там должен быть блок ASSERT, условие которого не выполняется. Тогда будет понятно в чём именно проблема.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
|
27.06.2013, 23:21 | #3 |
Пользователь
Регистрация: 04.06.2009
Сообщений: 46
|
Ошибка там где подчеркнуто
Код:
notepad.exe has triggered a breakpoint Выходит, я так думаю, что потерял хендл. Как же его тут восстановить? |
28.06.2013, 00:40 | #4 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
а это никак не может быть связанно с тем, что:
Код:
|
28.06.2013, 01:06 | #5 | |
Пользователь
Регистрация: 04.06.2009
Сообщений: 46
|
Цитата:
Еще это не помогает Код:
Последний раз редактировалось bigory; 28.06.2013 в 01:36. |
|
28.06.2013, 06:43 | #6 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
а ниче что вы переменную объявили а окошко не запустили?
Это MFC вроде? |
28.06.2013, 11:29 | #7 | |
Пользователь
Регистрация: 04.06.2009
Сообщений: 46
|
Цитата:
Попробую пояснить. CnotepadDlg уже создан и является главным окном, скажем окно текстового редактора. CDialog немодальное окно, которое создается Create(IDD_DIALOG1); и запускается через ShowWindow(SW_SHOW);. Предположим это будет что-то типа поиска текста в текстовом поле, который в окне класса CnotepadDlg. В немодальном окне есть кнопка "Найти". При нажатии на эту кнопку, в текстовом поле, которая находится в окне класса CnotepadDlg, выделяется найденный текст Я знаю что эту возможность можно реализовать через CFindReplaceDialog(), но я хочу создать свое окно. Проблема в том, что я не могу при нажатии на кнопку "OnBnClickedButton3" воздействовать на объекты класса CnotepadDlg Да, MFC Последний раз редактировалось bigory; 28.06.2013 в 12:00. |
|
28.06.2013, 12:09 | #8 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
Код:
Код:
то что у вас уже есть тепленький инициализированный объект какого то класса в программе не означает, что любые другие объекты такого же класса сразу же инициализируются. Последний раз редактировалось Kukurudza; 28.06.2013 в 12:12. |
28.06.2013, 13:10 | #9 |
Пользователь
Регистрация: 04.06.2009
Сообщений: 46
|
Как надо? Вот мой неправильный код
Создан главный диалог класса CnotepadDlg Создан дочерний диалог класса Dialog notepadDlg.h Код:
notepadDlg.cpp Код:
Dialog.h Код:
Код:
|
28.06.2013, 13:26 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Dialog::OnBnClickedButton3 создает новый объект типа CnotepadDlg.
Передавайте вашему Dialog объекту указатель на CnotepadDlg в качестве родителя и сохраняйте этот указатель в переменной класса Dialog. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Взаимодействие между формами и БД | Lazio | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 2 | 28.01.2012 10:39 |
Передачи куки между классами | temkas | C# (си шарп) | 5 | 26.08.2011 13:33 |
Взаимодействие между серверами | alex-chz | PHP | 6 | 03.03.2010 23:44 |
Взаимодействие между формами | Marsel737 | Общие вопросы Delphi | 5 | 16.11.2009 22:29 |
взаимотношения между классами | ciaonataha | Общие вопросы C/C++ | 3 | 23.07.2009 18:37 |