Bonjour,


je doit déclencher l'impression d'un document avec une image mais cette image est télécharger sur internet (une carte googlemap static avec des paramétre, adresses, villes, ect...)
donc je souhaite que l'impression ne soit lancé que lorsque l'image au format .png est présente dans le dossier. voici mon code pour être plus explicite.

A la réception des données par mon port série je lance la fonction 'carto_depart'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Public Sub carto_depart(ByVal adresses As String, ByVal villes As String, ByVal operation As Integer)
        Try
            Dim ad_mod As String = adresses.Replace(" ", "+").ToLower
 
            Dim destinationFileName As String = dossier_fax + "\image_carte.png"
            Dim sourceFileName As String = "http://maps.googleapis.com/maps/api/staticmap?size=640x320&markers=color:red|size:mid|label:L|" + ad_mod + "," + villes + ",FR&sensor=false/staticmap.png"
            My.Computer.Network.DownloadFile(sourceFileName, destinationFileName, "", "", False, 30500, True)
 
        Catch ex As Exception
            les_try("carto_depart() " & ex.ToString)
        End Try
    End Sub
ensuite avant le lancer l'impression je regarde si le fichier image_carte.png existe dans ma procédure impression_plan avec FileSystemWatcher
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 Public Sub impression_plan()
        'avant de lancer l'impression on attend que l'on ait recu la carte telecharger sur gmapstatic
        Dim repertoire As String
 
        repertoire = dossier_fax & "\"
        Dim watcher As New System.IO.FileSystemWatcher(repertoire, "image_carte.png")
        Dim result_create As IO.WaitForChangedResult = watcher.WaitForChanged(System.IO.WatcherChangeTypes.Created)
 
        If result_create.ChangeType = IO.WatcherChangeTypes.Created Then
            pd.Print()
            'dllg.Document = pd 'pour afficher l'apercu avant impression
            'dllg.ShowDialog()
        End If
    End Sub
mais mon programme bloque en deboguant je m'apercoi que je reste bloqué sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Dim result_create As IO.WaitForChangedResult = watcher.WaitForChanged(System.IO.WatcherChangeTypes.Created)
et la rien ne se passe alors que le fichier png a bien était telecharger ! est ce que j'utilise la bonne méthode ???