Модераторы: 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:\с\2\Form1.h(87) : error C2143: syntax error : missing ';' before '^'
1>g:\с\2\Form1.h(87) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>g:\с\2\Form1.h(87) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>g:\с\2\Form1.h(87) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>g:\с\2\Form1.h(87) : error C3845: 'My2::Form1::myForm': only static data members can be initialized inside a ref class or value type
1>g:\с\2\Form1.h(90) : error C2065: 'myForm' : undeclared identifier
1>g:\с\2\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:\С\2\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   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




[ Время генерации скрипта: 0.0954 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.