• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

2 Класса

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

Ambroyz

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

scs

объяви public переменные
и через них передавай данные
 
A

Ambroyz

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

etc

CLR это что?

Если это вин32, то можно и через сообщения, если это .NET, то ивинты юзать ... это как варианты.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!