Visual Express 2005 : thread et bouton
Bonjour à vous
Mon problème est lui suivant. Je dois réaliser un programme qui vient lire le contenu d'une base de donnée et qui envoie ensuite les info de la base de donnée à une carte relié en USB. J'ai déjà réalisé les fonction de lecture/écriture de la base et de lecture/écriture sur l'USB. A présent, je souhaite ( tout simplement ) ajouter un thread qui me permet de lancer la lecture en continue de ma base.
J'ai regardé sur internet et j'ai donc 2 classes :
Code:
1 2
|
public ref class Form1 : public System::Windows::Forms::Form |
Pour mes boutons ...
Et pour les threads :
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
| public ref class ThreadWork
{
public:
static void DoWork()
{
for ( int i = 0; i < 3; i++ )
{
Console::WriteLine( "Working thread..." );
Thread::Sleep( 100 );
}
}
};
void Function_Test()
{
ThreadStart^ myThreadDelegate = gcnew ThreadStart( &ThreadWork::DoWork );
Thread^ myThread = gcnew Thread( myThreadDelegate );
myThread->Start();
for ( int i = 0; i < 3; i++ )
{
Console::WriteLine( "In main." );
Thread::Sleep( 100 );
}
} |
le truc c'est que je veux lancer mon thread quand je clique sur un bouton ( donc d'une autre classe ).
Code:
1 2 3 4 5
|
private: System::Void button10_Click(System::Object^ sender, System::EventArgs^ e)
{
Function_Test()
} |
Avec ce code j'obtient la magnifique erreur :
Code:
1 2 3
|
1>GenericHIDSimpleDemo.obj : error LNK2001: symbole externe non résolu "void __clrcall Function_Test(void)" (?Function_Test@@$$FYMXXZ)
1>C:\Microchip Solutions\USB Device - HID - Simple Custom Demo\Generic HID - Simple Demo - PC Software\Microsoft Visual C++ 2005 Express\Release\GenericHIDSimpleDemo.exe : fatal error LNK1120: 1 externes non résolus |
Comment faire une fonction pouvant utilisée par les 2 classes ? Y'a t-il une autre solution pour faire un thread? y'a t-il une solution pour lancer/arrêter une tache avec appui sur un bouton ?