[RISOLTO] Gif bloccate durante esecuzione codice.

di il
8 risposte

[RISOLTO] Gif bloccate durante esecuzione codice.

Buongiorno,
In una Form durante l'esecuzione di un codice che trasferisce un numero consistente di Tabelle da un Db ad un'altro avevo pensato di inserire una barra animata (GIF) in un controllo Web per non lasciare silente l'esecuzione del codice.

Problema:
durante l'esecuzione la Gif rimane ferma alla prima immagine.

Commetto qualche errore io? è normale? c'è una soluzione?

Grazie anticipate a chi vorrà rispondere.

8 Risposte

  • Re: [RISOLTO] Gif bloccate durante esecuzione codice.

    No, Access non supporta GIF animate...
    La soluzione è usare N BMP e ciclarle.
    Puoi accedere alle Immagini della GIF, estrarle ed usarle proprio in questo caso...!
    Suggerisco di inglobarle nella Form e sfruttare la proprietà PictureData per trasferire il contenuto...
  • Re: [RISOLTO] Gif bloccate durante esecuzione codice.

    Alex grazie per la risposta,
    in effetti il problema non è tanto quello di visualizzare le Gif, questo mi riesce perfettamente inserendo un controllo Web browser ed inserendo questo codice all'apertura della form
    Me.WebBrw1.ControlSource = "=""" & CurrentProject.Path & "\gif\Bar.gif" & """"
    Se lasciata così la gif funziona!
    E' durante l'esecuzione del codice che si scatena su timer che la Gif si blocca.
  • Re: [RISOLTO] Gif bloccate durante esecuzione codice.

    Gianni55 ha scritto:


    ...E' durante l'esecuzione del codice che si scatena su timer che la Gif si blocca.
    Che codice c'è sull'evento Timer? a quale valore è impostato Timer? Compatibilmente con quanto già presente potresti inserire qui quanto ha detto @Alex (che di questi giochini, di "barre animate", ne sa qualcosa, dai lavori che ha pubblicato)
  • Re: [RISOLTO] Gif bloccate durante esecuzione codice.

    Grazie Phil per l'intervento
    premetto che avevo fatto la scelta delle Gif perchè non necessitavano di codice su timer ma non va.
    Faccio un paio di prove, modifico e posto il codice completo.
    Intanto grazie.
  • Re: [RISOLTO] Gif bloccate durante esecuzione codice.

    Il problema è diverso... le azioni di TRASFERIMENTO che usi sono Sincrone o Asincrone...?
    Se non si scatena il Timer e non si aggiorna il WebBrowser direi SINCRONE... di conseguenza anche mettendo un DoEvents nella sequenza, cosa che migliorerebbe, potrebbe non risolvere...!
  • Re: [RISOLTO] Gif bloccate durante esecuzione codice.

    Alex
    Il collegamento alla Gif viene effettuato su load della maschera e le gif risiedono sul PC
    Codice:
    Me.WebBrw1.ControlSource = "=""" & CurrentProject.Path & "\gif\Bar.gif" & """"
    il codice che si scatena su Timer 2000 è questo:
    Private Sub Form_Timer()
    On Error GoTo GestErr
    Dim strSQL As String
    Dim rs As DAO.Recordset
       strSQL = "SELECT NomeTabella "
       strSQL = strSQL & "FROM Bk_ListaTabelle IN '" & StrPathSource & "'"
    Set rs = DBEngine(0)(0).OpenRecordset(strSQL)
      If rs.EOF Then GoTo Exit_Here
         rs.MoveFirst
         Do Until rs.EOF
      DoCmd.SetWarnings False
      DoCmd.CopyObject strPathArrivo, rs!NomeTabella, acTable, rs!NomeTabella
      ' DoCmd.TransferDatabase acExport, "Microsoft Access", strPathArrivo, acTable, rs!NomeTabella, rs!NomeTabella, False   
      DoCmd.SetWarnings True
         rs.MoveNext                                                                                                     
         Loop                                                                                                                
    DoCmd.RunSQL "UPDATE Bk_T_Backup SET Bk_T_Backup.Data = Date(), Bk_T_Backup.Ora = Now() WHERE (((Bk_T_Backup.Idgg)=[Maschere]![Bk2_BackupAttendi]![Ngg]));", -1
    DoCmd.Close acForm, "Bk2_BackupAttendi"
    
    Exit_Here:
      On Error Resume Next
      rs.Close
      Set rs = Nothing
    GestErr:
    If Err.Number <> 0 Then
    MsgBox "Errore N° " & Err.Number & vbNewLine & Err.Description
    Resume Next
    End If
    
    GoTo fine:
    fine:
    Con queste impostazioni succede:
    1 Si apre la form la gif funziona
    2 (dopo time 2000) si scatena il codice su timer ma si blocca la Gif

    Temo che mi devo arrendere.

    Ho provato anche con un "accrocchio" che descrivo :
    Apertura con 2 forms una Hidden che esegue il trasferimento dati
    l'altra visibile con la gif
    Ambedue scatenano l'evento su Timer dopo lo stesso tempo,risultato:
    Maschera con gif bloccata fino ad esecuzione trasferimento.
  • Re: [RISOLTO] Gif bloccate durante esecuzione codice.

    Gianni55 ha scritto:


    Alex
    Il collegamento alla Gif viene effettuato su load della maschera e le gif risiedono sul PC
    Codice:
    Me.WebBrw1.ControlSource = "=""" & CurrentProject.Path & "\gif\Bar.gif" & """"
    Questo non cambia nulla... ininfluente.

    Gianni55 ha scritto:


    ..
    Con queste impostazioni succede:
    1 Si apre la form la gif funziona
    2 (dopo time 2000) si scatena il codice su timer ma si blocca la Gif
    Ma siamo sicuri di questa cosa...???????????????????
    Che si blocchi la GIF è ovvio... ma il resto...

    Gianni55 ha scritto:


    Temo che mi devo arrendere.

    Ho provato anche con un "accrocchio" che descrivo :
    Evita accrocchi inventati ma ti invito a RIFLETTERE.

    Ma tu esegui quel codice OGNI 2000ms...? No perchè nessuno lo disabilita una volta eseguito la 1° volta... quindi si ripete...!
    In ogni caso devi rifletterci BENE, e quel codice è da sistemare...

    Ad esempio perchè i SetWarnings lo imposti in ogni CICLO...?
    Prova a mettere poi il DOEVENTS come ti avevo detto. chi lo interrompe più quel CICLO..!!!!!!
    
    
    Set rs = DBEngine(0)(0).OpenRecordset(strSQL)
    If rs.EOF Then GoTo Exit_Here
         DoCmd.SetWarnings False
         rs.MoveFirst
         Do Until rs.EOF
             DoCmd.CopyObject strPathArrivo, rs!NomeTabella, acTable, rs!NomeTabella
             DoEvents
             rs.MoveNext                                                                                                     
         Loop   
         DoCmd.SetWarnings True
    End if
  • Re: [RISOLTO] Gif bloccate durante esecuzione codice.

    Alex, grazie per la pazienza guardati ogni mattina allo specchio perchè prima o poi ti ritroverai con una corona.
    FUNZIONA!


    Ps: corretto il setwarnig

    Il ciclo iniziava dopo 2000ms per consentire alla gif di partire (tentativo)

    si chiudeva perchè l'ultima istruzione era chiudi maschera.

    Grazie gentilissimo come sempre.
Devi accedere o registrarti per scrivere nel forum
8 risposte