simple passage et utilisation d'un contr�leur dans une Form (C++/CLI)
Bonjour, pour un travail en C++ j'ai voulu tenter de faire une application C++/CLI pour cr�er rapidement une fen�tre avec les composants .Net que j�ai d�j� utilis�s.
J�ai tent� un peu pr�s toute les possibilit�s que j�ai imagin� mais impossible de trouver une solution, je d�bute, il doit y avoir certainement quelque choses que je ne dois pas connaitre.
Il ne me reste plus comme unique solution de demander l�aide de programmeur plus exp�rimenter !
Le code est tr�s simple un main instancie un contr�leur, le contr�leur ouvre une fen�tre et passe � l�objet fen�tre un pointeur (this) sur lui-m�me, et ensuite j�essaye d�utiliser une fonction du contr�leur � partir de ma fen�tre.
Mais j�ai cette erreur :
Citation:
[ConnectionWindow.h]
error C2227: la partie gauche de '->fadeOutConnection' doit pointer vers un type class/struct/union/g�n�rique
error C2027: utilisation du type non d�fini 'MainController'
Voici tout d'abord le main:
Main.CPP
Code:
1 2 3 4 5 6 7 8
|
[windowForm::STAThreadAttribute]
int main(array<System::String ^> ^args)
{
MainController mainController;
return 0;
} |
Voici la classe controller.h, je l'ai mis le mot cl�s "ref" pour en faire une classe manag� pour stocker l'objet fen�tre ConnectionWindow(impossible autrement si j 'ai bien compris C++/CLI)
mainController.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
ref class MainController
{
using namespace windowForm;
private :
ConnectionWindow ^ connectionWindow;
public :
MainController();
~MainController();
void fadeOutConnection();
}; |
mainController.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
#include "stdafx.h"
#include "mainController.h"
MainController::MainController()
{
connectionWindow = gcnew ConnectionWindow(this);
windowForm::Application::Run(connectionWindow);
}
void MainController::fadeOutConnection(){
} |
Et voici la form ConnectionWindow
ConnectionWindow.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
ref class MainController;
namespace windowForm {
using...
public ref class ConnectionWindow : public System::Windows::Forms::Form
{
public:
ConnectionWindow(MainController ^ mainController)
{
this->mainController = mainController;
InitializeComponent();
}
...
private: MainController ^ mainController;
...
#pragma region Windows Form Designer generated code
// Code g�n�r�
#pragma endregion
private: System::Void buttonGoConnection_Click(System::Object^ sender, System::EventArgs^ e) {
mainController->fadeOutConnection();
} |
La ligne en rouge est celle qui cr�e l'erreur , je ne comprend pas du tout :cry:
Un grand merci d'avance! bonne soir�e!