Bonjour tout le monde,

Voila je voudrais utilisé un Timer dans du managé, afin de check de manière périodique le contenu d'un tableau qui est rempli dans du c++ natif.

La déclaration de mon pointeur se passe sans accroc, le problème est lorsque je donne à mon timer la fonction qu'il doit apelé lorsqu'il arrive à 0. Une première erreur était de ne pas donné l'adresse de cette fonction mais de la passé directement en paramètre (vs 2005 à crier, et ma donné la correction). Et là maintenant, j'ai une erreur assez surprenante..

Error 1 error C3352: 'void CliWrapper::CliWrapperEigenvalues::t_Elapsed(System::Object ^,System::Timers::ElapsedEventArgs ^)' : the specified function does not match the delegate type 'void (System::Object ^,System::Timers::ElapsedEventArgs ^)' c:\users\paqueth\HerculeNew\Hercule.Presentation.UI.sln\Hercule.Business.Wrapper\CliWrapperEigenvalues.cpp 41
Donc les deux signatures de méthodes sont a priori les mêmes mais VS2005 ne le voit pas comme ca...

Déclaration et initialisation de mon Timer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
System::Timers::Timer ^t = gcnew System::Timers::Timer();
		t->Elapsed += gcnew  Timers::ElapsedEventHandler(&CliWrapperEigenvalues::t_Elapsed);
		t->Interval = 1000;
		t->AutoReset = false;
		t->Start();
Fonction qui doit être appelée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
System::Void CliWrapperEigenvalues::t_Elapsed(Object^ sender, Timers::ElapsedEventArgs^ e)
	{
 
	}
Si quelqu'un pouvait trouver le problème ca me ferait grandement plaisir