& quot; переопределение типа класса & quot; ошибка при включении файла .h из проекта UI в проект приложения Consol в VC ++ 2010

Я программирую на VC ++ 2010. У меня есть проект консольного приложения clr и проект приложения win clr в решении. Я хочу отправить некоторые данные из консольного приложения в форму пользовательского интерфейса для отображения в сетке. Затем я написал метод в классе MyForm и попытался использовать его в проекте консольного приложения. но когда я пытаюсь включить MyForm.h в proj консольного приложения, я получаю сообщение об ошибке «Переопределение типа класса», хотя в моем коде есть «#pragma Once» и #ifdef.

Файл MyForm.h из Project1 решения:

#ifndef MYFORM_H
#define MYFORM_H
#pragma once

namespace Project1 {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
}
void AddVal(UInt16 i)
{
dataGridView1->Rows[0]->Cells[2]->Value = i;
}

protected:
~MyForm()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::DataGridView^  dataGridView1;
private: System::Windows::Forms::DataGridViewComboBoxColumn^  Column1;
private: System::Windows::Forms::DataGridViewTextBoxColumn^  Column2;
private: System::Windows::Forms::DataGridViewTextBoxColumn^  Column3;

protected:

private:
System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
...
#pragma endregion
};

ref class ManagedGlobals {
public:
static MyForm ^ p_mf = nullptr;
};
#endif
----------------------------

Файл source.cpp из Project1 решения:

#include "MyForm.h"                    //            The header file of the form
using namespace Project1;            //            The name of the namespace in

int main(){
MyForm ^ mf = gcnew MyForm;
ManagedGlobals::p_mf = mf;
mf->ShowDialog();             //            Show the form
return 0;
}
----------------------------

Файл ConsoleApplication.cpp из проекта ConsoleApplication решения

#include "stdafx.h"#include "..\project1\MyForm.h"
using namespace System;
int main(array<System::String ^> ^args)
{
...
ManagedGlobals::p_mf->AddVal(777);
...
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]