Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB.NET] SendAsync in un ciclo

    Ciao a tutti
    Una settimana che uso il framework2.0 ed è fantastico, ma quante cose nuove!! :master:

    Dovevo fare un programmino stupido, ho 100indirizzi email e devo inviare a ogniuno degli indirizzi un file diverso.
    Allora mi sono fatto un ciclo


    For Each nomemail In lista
    'dichiaro il messaggio
    Dim messaggio As New System.Net.Mail.MailMessage(mittente, nomemail, oggetto, corpo)
    'dichiaro l'allegato
    attaccato = New Net.Mail.Attachment(nomemail + ".pdf")
    'attacco l'allegato al messaggio
    messaggio.Attachments.Add(attaccato)
    'invio il messaggio
    Smtp.SendAsync(messaggio, tok)
    'faccio avanzare la barra
    ProgressBarControl1.PerformStep()
    ProgressBarControl1.Update()
    Next

    Se usavo il Smtp.Send(messaggio) andava tutto bene ma il programma sembrava bloccato finchè non inviava tutti i file
    Allora ho usato il metodo asincrono così teoricamente mi faceva avanzare la barra di progresso ma c'è il problemino che per inviare la seconda email al secondo ciclo deve aver finito di inviare quella prima (cosa che non succede) :berto:

    Avete idea di come fargli inviare la mail, fargli avanzare la barra e aspettare a inviare la seconda finchè non ha finito quella prima??
    Marte
    Admin Shard Millennium

  2. #2
    Ragazzi le comiche, mi viene l'idea dei thread
    faccio un programma che attiva un thread che aggiorna una barra di avanzamento sul form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    t = New Threading.Thread(AddressOf Me.LupInfinito)
    t.Start()


    End Sub

    Private Sub LupInfinito()
    Dim i As Int32 = 1
    Do While True
    Threading.Thread.CurrentThread.Sleep(1000)
    i = i + 2
    Me.TextBox1.Text = i
    Me.ProgressBar1.PerformStep()
    Me.ProgressBar1.Update()
    Loop
    End Sub


    Questo su VB.net 2003, solo 3 righe
    immaginatevi quando ho certo di importarlo su vb.net2005....
    Marte
    Admin Shard Millennium

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    scusa ma da un thread come fai ad aggiornare la progressbar ??? non ti dovrebbe andare in errore ???

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.