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'
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
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
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 ???
Partager