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 :
Pour mes boutons ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public ref class Form1 : public System::Windows::Forms::Form
Et pour les threads :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ).
Avec ce code j'obtient la magnifique erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private: System::Void button10_Click(System::Object^ sender, System::EventArgs^ e) { Function_Test() }
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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager