2 Класса

  • Автор темы Ambroyz
  • Дата начала
A

Ambroyz

Гость
#1
Тип проекта CLR
Коротко опишу суть проблемы, заранее прошу не посылать в гуглы и тп ибо рою второй день ничего по теме не нашел(хотя мб не умею искать):
Допустим есть 2 класса наследующих класс формы: Form1 и Form2
По некоторому событию в 1й форме происходит создание и открытие второй формы:
Form2 ^frm2=gcnew Form2;
frm2->Show();
Все ок, ибо формы 1 включена в проект после инклуда 2й формы, т.е. тип Form2 видим.
Теперь мне нужно из формы2 вызвать любую функцию из формы1. Тут начинаются проблемы, так как чтобы что-то вызывать у экземпляра формы1 нужно чтобы 2я форма получила указатель на этот экземпляр, передать указатель не проблема, проблема в том что форма 2 не видит такого типа как Form1, т.е. работа с указателем не возможна. Как быть в данной ситуации?
банальный пример применения: в основном окне открываем доп форму, вбиваем там данные и по кнопке ОК возвращаем их в 1ю форму.
Подскажите пожалуйста где я ошибаюсь и варианты реализации вызова функции
Заранее спасибо
 
S

scs

Гость
#2
объяви public переменные
и через них передавай данные
 
A

Ambroyz

Гость
#3
долго ждал ответа в этом форуме..) на самом деле использование паблик переменных неккоректно.
Пока ждал сам докопался до ответа, нужно использовать typedef ref class Form1 и выносить все реализации из заголовочника, и все ок)
 
E

etc

Гость
#4
CLR это что?

Если это вин32, то можно и через сообщения, если это .NET, то ивинты юзать ... это как варианты.
 
04.09.2006
2 566
2
Минск
#5