![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| unLIMIT1984 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.5.2009 Репутация: нет Всего: нет |
Ребят, привет.
С++ Windows Forms (VS2005) Есть многооконное приложение. Form1 - главное окно (IsMdiContainer=true). Form2 - дочернее окно. Необходимо при создании Form2 передать ссылку на Form1, чтобы в дочернем окне иметь доступ к членам родительского окна. То, до чего дошел:
Ошибки возникают следующие: Line Error 1 error C2027: use of undefined type 'mdiApp::Form1' Form2.h 30 Error 2 error C2227: left of '->label1' must point to class/struct/union/generic type Form2.h 30 Error 3 error C2227: left of '->Text' must point to class/struct/union/generic type Form2.h 30 Error 4 error C2027: use of undefined type 'mdiApp::Form1' Form2.h 30 Error 5 error C2227: left of '->label1' must point to class/struct/union/generic type Form2.h 30 Error 6 error C2227: left of '->Text' must point to class/struct/union/generic type Form2.h 30 Помогите пожалуйста исправить ошибки. PS: на всякий случай прикрепляю файлы проекта Это сообщение отредактировал(а) unLIMIT1984 - 18.5.2009, 21:38 Присоединённый файл ( Кол-во скачиваний: 3 )
mdiApp.rar 13,27 Kb |
||||
|
|||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
unLIMIT1984, файлы не прикрепились...
по сабжу - надо инклуд добавить в Form2.h: #include "Form1.h" Из сообщения компилятора же ясно видно, что он не может найти тип Form1 -------------------- СУВ, Partizan. |
|||
|
||||
| unLIMIT1984 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.5.2009 Репутация: нет Всего: нет |
Добавлял include - не помогает.
Прикрепил файл. Это сообщение отредактировал(а) unLIMIT1984 - 18.5.2009, 21:39 |
|||
|
||||
| Partizan |
|
||||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
-------------------- СУВ, Partizan. |
||||
|
|||||
| unLIMIT1984 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.5.2009 Репутация: нет Всего: нет |
Partizan, здорово. Спасибо большое тебе. Подскажи пожалуйста, а почему реализацию этих функций нужно выносить в файл cpp? Например, все обработчики вписываются в h-файл автоматически, а также обычные пользовательские функции нормально там живут.
|
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
unLIMIT1984, MSDN говорит, что класс должен быть полностью определён в момент его использования.
Вообще, если говорить о C++, то хороший тон - в хедерах определять прототипы, а в cpp - реализацию. Добавлено через 1 минуту и 12 секунд unLIMIT1984, я к тому, что если бы не было перекрёстной зависимости, то всё бы было ок и в текущем варианте... -------------------- СУВ, Partizan. |
|||
|
||||
| MaksSh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
Всем привет
я использую С++ Windows Forms (VS2008) у меня тоже многооконное приложение разница в том что на второй форме есть button, при нажатии на которую я обращаюсь к объекту с первой формы
на что мне компилятор резонно отвечает error C2039: buttonCreatRevJount_Click: не является членом "My_VeshicleEditor::FormCreateRevJount" 1> e:\visual studio 9\my_editor\my_veshicleeditor\FormCreateRevJount.h(25): см. объявление 'My_VeshicleEditor::FormCreateRevJount' 1>e:\visual studio 9\my_editor\my_veshicleeditor\FormCreateRevJount.h(84) : error C2065: buttonCreatRevJount_Click: необъявленный идентификатор 1>e:\visual studio 9\my_editor\my_veshicleeditor\FormCreateRevJount.h(84) : error C3350: System::EventHandler: конструктор делегата ожидает 2 аргументов а если функцию buttonCreatRevJount_Click реализовывать в нидере то error C2027: использование неопределенного типа "My_VeshicleEditor::Form1" 1> e:\visual studio 9\my_editor\my_veshicleeditor\FormCreateRevJount.h(23): см. объявление 'My_VeshicleEditor::Form1' 1>e:\visual studio 9\my_editor\my_veshicleeditor\FormCreateRevJount.h(109) : error C2227: выражение слева от "->render" должно указывать на тип класса, структуры или объединения либо на универсальный тип 1>e:\visual studio 9\my_editor\my_veshicleeditor\FormCreateRevJount.h(109) : error C2227: выражение слева от "->createNewRevJount" должно указывать на тип класса, структуры или объединения либо на универсальный тип 1>FormCreateRevJount.cpp прямо замкнутый круг какой то |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
MaksSh, проект в студию
-------------------- СУВ, Partizan. |
|||
|
||||
| MaksSh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
Partizan
исходники, или просто в коде? а то у меня проект большой Добавлено через 3 минуты я все сделал как описывалось выше проблема только с функцией
Добавлено через 4 минуты и 17 секунд ой извиняюсь не тот код поставил надо С++ |
|||
|
||||
| MaksSh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
Вот пример создающий подобную ситуацию
Присоединённый файл ( Кол-во скачиваний: 5 )
Primer.rar 7,45 Kb |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |