Bonjour,

Mon cas est très simple, je lance un calcul Matlab à partir d'un thread :

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
25
26
 
 
Imports System.Threading
 
Private _threadMatlab As Thread
 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        ' Matlab Analysis
        _threadMatlab = New Thread(AddressOf startMatlab)
        _threadMatlab.Start()
 
End Sub
 
Private Sub startMatlab()
 
        Dim Matlab As Object
 
        ' Launching Matlab
        Matlab = CreateObject("Matlab.Application")
 
        Matlab.Execute("Run.m")
 
        Matlab.quit()
 
End Sub
Lorsque je ferme mon formulaire le thread continue à tourner. Le problème c'est que Run.m dure près d'une heure et que je ne peux attendre la fin du script.

Alors sur l'évenement FormClosing j'ai éssayé la méthode abort() et Matlab.quit() (si Matlab est déclaré global au formulaire) mais rien ne fonctionne...

Comment killer mon Thread, i.e. arrêter le processus Matlab lorsque je quitte mon formulaire ?