C++/CLI обновить форму из другого файла

Компьютеры программирование .net С++ CLI

Ситуация:

Программа на C++/CLI разбита на несколько .h файлов.
Есть форма с элементами, по нажатии определенной кнопки - переходит передача управления классу из другого файла.
В нем происходят определенные операции, в следствии которых меняется содержимое формы.
Проблема в том что необходимо пошагово показать изменение формы, а не сразу ее конечное состояние.
На сколько я понимаю для этого необходимо вызвать update() формы.

Как это осуществить из объекта другого класса, находящегося в другом файле?
Или какие еще есть способы сделать необходимое?

Примечание:
Спасибо за ответ.
Получается мне нужно создать указатель на объект находящий с вдругом файле, но при попытке сделать это получаю.

global or static variable may not have managed type

Примечание:
Программа имеет примерно следующую структуру:

Пользователю показывается форма, он вводит определенные данные и нажимает на кнопку.
В обработчике управление передается объекту класса engine описанного в bot_int.h.
В итоге метод engine должен обновить форму.

Глобально объявить указатель глобально Form1 myF1=new gcnew Form1(); получаю вышеописанную ошибку.
При попытке внести форму в класс

class engine
{
Form1^ myForm = gcnew Form1();
command_list main_list; //главный список
command_list f1_list; //список F1
command_list f2_list; //список F2
com_stack main_stack; //главный стэк
com_lists main_nodes; //массив главных нод
void analistic();
void bot_parser(string command);
public:
uberclass main_uber;
void main_loop(string str, string str1, string str2); //запуск основного цикла
};

Получаю ошибку error C3265: cannot declare a managed in an unmanaged

Как это возможно реализовать?

(Первый проэкт на C++/CLI, поэтому дико туплю, и немогу разобраться)

Примечание:
Получается следующая ситуация:
C3265: cannot declare a managed in an unmanaged возникает даже просто при попытке объявить Form1^ myForm; в классе.
Удается и объявить и инициализировать в конструкторе, но ведь после этого к ней никак не обратиться.
Ответы:
Самый простой способ - создать указатель на объект нужного класса:
YourForm^ frm = gcnew YourForm();
// далее можете изменять состояние формы YourForm через этот указатель
// frm -> Show();
// и так далее
Дополнение #1, ну... вы видимо объявили этот указатель в глобальной области видимости. Покажите код (ну компилятор явно указал ошибку - нельзя в глобальную область помещать управляемые объекты).
Хм... я думаю инициализировать объект таким образом - неправильно. Попробуйте сделать это в конструкторе:
class engine  // по-моему в CLI перед class еще нужно поставить ref, т.е ref class engine
{
 Form1^ Myform;
 //...
public:
 engine()
 {
   MyForm = gcnew Form1();
   MyForm->Show();
 }
 //...
};
Дополнение #3, вот не знаю... Много дела с mC++ я не имел. Ну попробуйте объявить Form1 не через указатель, а:
Form1 frm;


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.