Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.04.2009, 21:29   #1
molodoy-pirat
 
Регистрация: 21.04.2009
Сообщений: 4
Восклицание помогите создать второй экземпляр формы в vs2008 c++

Помогите пожайлуста!!

использую с++ в проекте Windows Application Form (не MFC) VS2008

Имеется проект с двумя формами на каждой по кнопке.
для вызова form2 из form1 по нажатию кнопки в заголовочный файл form1.h добавляю #include "form2.h" и при нажатии кнопки на форме 1 создаю форму
Form2 ^f2 = gcnew Form2;
f2->ShowDialog();форма создается

Как только я хочу проделать то же самое в form2 чтобы из созданной формы 2 вызвать form1 (в заголовочный файл form2.h добавляю #include "form1.h" и при нажатии кнопки на форме 2 создаю форму
Form1 ^f1 = gcnew Form1;
f1->ShowDialog(); ) возникает ошибка .

Ответте вчем причина

ИСХОДНЫЙ КОД

Форма 1 (Form1.h)

Код:

#pragma once
#include "vid.h"
namespace rrr {

using namespace System;
using namespace System::ComponentModel;
........
........
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
vid ^f = gcnew vid;
f->ShowDialog();

}
Форма 2 (vid.h)

Код:

#pragma once
#include "Form1.h"

using namespace System;
using namespace System::ComponentModel;
...
...
#pragma endregion

private: System::Void vid_FormClosed(System::Object^ sender, System::Windows::Forms::FormClosedE ventArgs^ e)
{
Form1 ^f1 = gcnew Form1;
f1->ShowDialog();
}

Цитата:

------ Build started: Project: rrr, Configuration: Debug Win32 ------
Compiling...
vid.cpp
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\Form1.h(89) : error C2065: 'vid' : undeclared identifier
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\Form1.h(89) : error C2146: syntax error : missing ';' before identifier 'f'
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\Form1.h(89) : error C2065: 'f' : undeclared identifier
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\Form1.h(90) : error C2065: 'f' : undeclared identifier
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\Form1.h(90) : error C2228: left of '.ShowDialog' must have class/struct/union
type is ''unknown-type''
rrr.cpp
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\vid.h(76) : error C2065: 'Form1' : undeclared identifier
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\vid.h(76) : error C2065: 'f1' : undeclared identifier
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\vid.h(76) : error C2061: syntax error : identifier 'Form1'
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\vid.h(77) : error C2065: 'f1' : undeclared identifier
c:\documents and settings\misha\мои документы\visual studio 2008\projects\rrr\rrr\vid.h(77) : error C2227: left of '->ShowDialog' must point to class/struct/union/generic type
type is ''unknown-type''
Generating Code...
Build log was saved at "file://c:\Documents and Settings\misha\Мои документы\Visual Studio 2008\Projects\rrr\rrr\Debug\BuildLo g.htm"
rrr - 10 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
molodoy-pirat вне форума
Старый 25.04.2009, 21:40   #2
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

для .NET есть свой раздел.
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума
Старый 25.04.2009, 22:41   #3
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Пробывал зделать не получилось!Может напишут.
Cpluser вне форума
Старый 25.04.2009, 22:54   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

пробуйте так:
Код:
// form1.h

class Form2;

class Form1
{
...
};

// form2.h
#include "form1.h"

class Form2
{
...
};
pu4koff вне форума
Старый 25.04.2009, 23:27   #5
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Я создал две формы.
На C# выглядит так
Код:
Form myform = new Form2();
            myform.ShowDialog();
А на С++?
Cpluser вне форума
Старый 25.04.2009, 23:30   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Код:
Form ^myform = gcnew Form2;
myform->ShowDialog();
pu4koff вне форума
Старый 26.04.2009, 14:19   #7
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,619
По умолчанию

Тема закрыта за кросспостинг.
MaTBeu вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не получается связать две формы использую с++ в проекте Windows Application Form (не MFC) VS2008 molodoy-pirat Windows Forms 2 23.04.2009 10:27
Как с помощью CoCreateInstance() создать экземпляр компонента mrTorrance Win Api 0 17.03.2009 14:24
Один экземпляр класса Лубышев Общие вопросы .NET 2 31.10.2008 20:57
Исходник второй формы Titan123 Общие вопросы Delphi 3 11.07.2008 13:17
как сделать так чтобы при открытии второй формы олько она была активной doncova1 Общие вопросы Delphi 2 03.02.2007 19:34