Как в c связать 2 формы

Модераторы: LSD

  

Ответ в темуСоздание новой темы Создание опроса

 

> Как связать две формы?:-(, HELP ME  :(     Опции темы 6oTuHok Дата 15.12.2006, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Новичок

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



Граждане! Ситуация следующая........

Хочу связать две формы так, чтобы, кликая по кнопке на первой форме появлялась вторая (а первая исчезала), и наоборот, кликая по кнопке на второй, появлялась первая (исходная).

Работаю в MS Visual Studio 2005. Создаю новый проект CLR -> Windows Form Application. Далее добавляю новую форму: Project -> Add new item -> UI -> Windows Form. В "Form1.h" подключаю файл "Form2.h"

Код
#pragma once
#include "Form2.h" 
Аналогично поступаю и с "Form1.h":
Код
#pragma once
#include "Form1.h"

В чистом виде компилирует без проблем!!!

Создаю кнопку на Form1. И делаю так:

Код
static Form2 ^myForm = gcnew Form2();

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
             myForm->Show();
         }

Появляется такая гадость:

Код
1>------ Build started: Project: 2, Configuration: Debug Win32 ------
1>Compiling...
1>Form2.cpp
1>g:\с\Form1.h(87) : error C2143: syntax error : missing ';' before '^'
1>g:\с\Form1.h(87) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>g:\с\Form1.h(87) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>g:\с\Form1.h(87) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>g:\с\Form1.h(87) : error C3845: 'My2::Form1::myForm': only static data members can be initialized inside a ref class or value type
1>g:\с\Form1.h(90) : error C2065: 'myForm' : undeclared identifier
1>g:\с\Form1.h(90) : error C2227: left of '->Show' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>2.cpp
1>Generating Code...
1>Build log was saved at "file://g:\С\Debug\BuildLog.htm"
1>2 - 7 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Подскажите, перелазил все, что нашел. В МСДН'е толком ниче не написано.

PM MAIL   Вверх En_t_end Дата 15.12.2006, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004
Репутация: нет
Всего: 20



6oTuHok
Признавайся, шпиён, на каком языке программируешь?
Цитата(6oTuHok @  16.12.2006,  00:01 Найти цитируемый пост) staticForm2 ^myForm = gcnew Form2();
 smile 
ЗЫ эта тенденция имеет нарастающий характер!!! ахтунг :
http://forum.vingrad.ru/topic-125792.html
Цитата(Voldemar2004 @  13.12.2006,  15:17 Найти цитируемый пост) #define begin {    
#define end; }

Добавлено @ 21:43 
Мда Managed C++ - это даже хуже чем то что написал Вольдемар smile
http://ruwiki.com/article/Managed_C_Plus_Plus

PM MAIL ICQ Skype GTalk Jabber   Вверх 6oTuHok Дата 16.12.2006, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Новичок

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



Цитата(En_t_end @ 15.12.2006,  21:29) Признавайся, шпиён, на каком языке программируешь?
Visual C++!!!

Про CLR я много читал, но... Конкретные примеры нигде не нашел! В Delphi было все проще. А здесь чета ваще никак ниасилю((

PM MAIL   Вверх En_t_end Дата 16.12.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004
Репутация: нет
Всего: 20



Цитата(6oTuHok @  16.12.2006,  12:19 Найти цитируемый пост) Про CLR я много читал, но... Конкретные примеры нигде не нашел!
Это конечно оффтоп, но возможно тебе поможет... Ты уверен, что тебе нужен именно Managed С++ ?- вещь препоганная smile, и увы это не только мое мнение. Visual C++ - это не язык. Это не тоже самое, что Visual Basic(чтобы не было путаницы).  Visual C++ - это совокупность компонентов(а также некоторых протоколов, читай договорённостей) системы Visual Studio позволяющих создавать приложения на языке C++. Поясню... ты пытаешься создать управляемый код, работающий под управлением .NET Framework. Реши для себя надо тебе или нет делать это ? Ты можешь создавать обычные MFC,ATL,Win32 приложения в VISUAL Studio 2005, так что Managed C++ - не единственный выход программировать на С++ в этой IDE. 
Ну если тебе действительно надо программировать именно на Managed C++(если честно, то сожалею) то ИМХО сюда http://forum.vingrad.ru/dotNET-forum.html
PM MAIL ICQ Skype GTalk Jabber   Вверх ivashkanet Дата 16.12.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Кодю потиху

Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(En_t_end @  16.12.2006,  10:42 Найти цитируемый пост) Managed С++ ?- вещь препоганная
Полностью согласен. 
Но весь .Net --- очень даже неплох.
Вернее его "реализация" в языке C#
PM MAIL WWW ICQ   Вверх En_t_end Дата 16.12.2006, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004
Репутация: нет
Всего: 20



Цитата(ivashkanet @  17.12.2006,  01:04 Найти цитируемый пост) Но весь .Net --- очень даже неплох.
Вернее его "реализация" в языке C#
ИМХО Managed C++ - неудачный эволюционный шаг к C# к фреймворку, к управляемому коду. Посему Managed C++ - скорее мутант, чем реальный инструмент.

Это сообщение отредактировал(а) En_t_end - 16.12.2006, 21:38

PM MAIL ICQ Skype GTalk Jabber   Вверх ivashkanet Дата 17.12.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Кодю потиху

Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(En_t_end @  16.12.2006,  20:36 Найти цитируемый пост) ИМХО Managed C++ - неудачный эволюционный шаг к C# к фреймворку, к управляемому коду
Почти. Он используется при написании неуправляемого кода под .Net  smile 
PM MAIL WWW ICQ   Вверх En_t_end Дата 18.12.2006, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004
Репутация: нет
Всего: 20



Цитата(ivashkanet @  17.12.2006,  15:52 Найти цитируемый пост) Он используется при написании неуправляемого кода под .Net
Очень странно, так как : Цитата Managed C++ — набор дополнений к языку C++ (полноcтью назваемых Managed Extensions for C++), позволяющих программам, написанным изначально на С++, управляться CLR и работать на платформе Microsoft .NET. Фактически эти дополнения позволяют писать управляемый код (англ. managed code), совместимый с платформой .NET Framework и исполняемый в среде .NET. В процессе разработки .NET 2.0 компания Майкрософт пересмотрела эти дополнения, в результате чего код может быть написан проще и легче читается. Новый набор изменений называется C++/CLI и полностью поддерживается Visual Studio 2005. Таким образом Managed C++ считается устаревшей спецификацией, и код, написанный таким образом, рекомендуется переписать.
http://ruwiki.com/article/Managed_C_Plus_Plus

Это сообщение отредактировал(а) En_t_end - 18.12.2006, 08:59

PM MAIL ICQ Skype GTalk Jabber   Вверх ivashkanet Дата 18.12.2006, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Кодю потиху

Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



En_t_end, возможно. Я умные книжки не читал и С++ не особо юзал smile 
Это просто мое мнение smile

Под "неуправляемым кодом под .Net" я имею ввиду работу с указателями, ссылками и другой разной хренью.

А вообще, что это я к этому VC++. Я на нем ни одной проги не наваял  smile 
Потому что: 

Цитата(En_t_end @  16.12.2006,  10:42 Найти цитируемый пост) Managed С++ ?- вещь препоганная PM MAIL WWW ICQ   Вверх En_t_end Дата 18.12.2006, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004
Репутация: нет
Всего: 20



Цитата(ivashkanet @  18.12.2006,  13:16 Найти цитируемый пост) Под "неуправляемым кодом под .Net" я имею ввиду работу с указателями, ссылками и другой разной хренью.
Интересно мнение. smile Т.е для тебя все эти полезнейшие вещи хаотичны и "неуправляемы"(не в смысле термина Managed).
Цитата(ivashkanet @  18.12.2006,  13:16 Найти цитируемый пост) Потому что:
smile Я говорил про Managed C++ , а не про систему VC++. PM MAIL ICQ Skype GTalk Jabber   Вверх ivashkanet Дата 18.12.2006, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Кодю потиху

Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(En_t_end @  18.12.2006,  08:22 Найти цитируемый пост) Т.е для тебя все эти полезнейшие вещи хаотичны и "неуправляемы"(не в смысле термина Managed).
Да. Как и для любого .Net-овца.
В .Net нет ссылок на объекты, в прямом смысле. Есть "безопасные" ссылки. Т.е. ссылки, которые знают на объект какого типа она указывает и может указывать только на этот тип или на его наследников.

Можно, конечно, использовать и обычные указатели и ссылки. Но это не приветствуется (чисто мое мнение).

Цитата(En_t_end @  18.12.2006,  08:22 Найти цитируемый пост) Я говорил про Managed C++ , а не про систему VC++.
Я наверное запутался smile
Я говорю про С++ под .Net

 smile Вау, а что это мы в религиозных войнах?

PM MAIL WWW ICQ   Вверх En_t_end Дата 18.12.2006, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004
Репутация: нет
Всего: 20



ivashkanet
Цитата(ivashkanet @  18.12.2006,  13:51 Найти цитируемый пост)  Вау, а что это мы в религиозных войнах?
А ты думаешь "чё" я против Managed C++ агитирую ? smile
PM MAIL ICQ Skype GTalk Jabber   Вверх ivashkanet Дата 18.12.2006, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Кодю потиху

Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(En_t_end @  18.12.2006,  18:53 Найти цитируемый пост) А ты думаешь "чё" я против Managed C++ агитирую ?
Ты против, я против. А где же война?  smile  smile 
PM MAIL WWW ICQ   Вверх En_t_end Дата 19.12.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата
Эксперт

Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004
Репутация: нет
Всего: 20



ivashkanet
Цитата(ivashkanet @  19.12.2006,  01:46 Найти цитируемый пост) Ты против, я против. А где же война? 
Я тоже подумал об этом... ЗЫ этот тред войдет в историю(винграда ессно), как самое мирное решение "Религиозных Войн" smile
PM MAIL ICQ Skype GTalk Jabber   Вверх Google   Дата 22.2.2018, 23:55 (ссылка)  


  Вверх

  

Ответ в темуСоздание новой темы Создание опроса Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) 0 Пользователей: « Предыдущая тема | Религиозные войны | Следующая тема »

Источник: http://forum.vingrad.ru/topic-127499.html



Рекомендуем посмотреть ещё:


Закрыть ... [X]

C# - Как связать две формы? - Stack Overflow на русском Вязанье фото моделей

Как в c связать 2 формы Как в c связать 2 формы Как в c связать 2 формы Как в c связать 2 формы Как в c связать 2 формы Как в c связать 2 формы Как в c связать 2 формы

ШОКИРУЮЩИЕ НОВОСТИ