ТАК У меня есть две winform: MyForm
и processes
, которые находятся внутри пространства имен mainform
:
dependencies.h
содержит заголовки для приложения для работы: windows.h
, string
, et c ..
MyForm.h
:
#include "processes.h"
namespace mainform {
//using system namespaces
public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
//component initialization
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
processes^ processSelect = gcnew processes(this);
processSelect->ShowDialog();
}
};
}
MyForm.cpp
:
#pragma once
#include "dependencies.hpp"
#include "MyForm.h"
using namespace System;
using namespace System::Windows::Forms;
[STAThread]
int main(array<String^>^ args) {
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
mainform::MyForm form;
Application::Run(% form);
return 0;
}
processes.h
namespace mainform {
//using system namespaces
public ref class processes : public System::Windows::Forms::Form
{
public:
MyForm^ mainForm;//error here
processes(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
processes(MyForm^ callingForm)
{
mainForm = callingForm;
InitializeComponent();
}
//component initialization
private: System::Void processes_button1_Click(System::Object^ sender, System::EventArgs^ e) {
//do something with mainForm so can interact with MyForm
}
};
}
processes.cpp
#define _CRT_SECURE_NO_WARNINGS
#include "dependencies.hpp"
#include "globals.hpp"//standalone header
#include "Utils.hpp"//standalone header
#include "processes.h"
using namespace System;
using namespace System::Windows::Forms;
Теперь, когда я пытаюсь скомпилировать это, я получаю syntax error missing ';' before '^'
в этой строке: MyForm^ mainForm;
,
Я не понимаю, почему.
Ребята, есть идеи?
Заранее спасибо.