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

    [VB6] Può un timer "correre troppo"?

    Ciao ragazzi,
    ho una applicazione che produce alcune operazioni a scadenze di 5 minuti, per farlo usa un timer a 60.000 con una variabile che si incrementa ad ogni scadenza e, quando è pari a 5 si resetta e fa le operazioni. In genere funziona tutto bene ma è successo alcune volte che, durante il giorno, recuperasse secondi, verso le 11 di stamattina, partendo alle 9 è già in anticipo di 4-5 secondi, verso le 17 addirittura è successo che fosse in anticipo di 11-12 secondi. Come detto in alcuni giorni funziona benissimo, in altri invece corre troppo. Ci sono spiegazioni a questo fenomeno?
    Grazie, ciao
    Uomolupo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Considera che il timer non e' sempre molto preciso.

    Ma, in genere, e' in ritardo, non in anticipo ...

    Una decina di secondi su 5 minuti, comunque, non mi sembra un gran problema ... hai bisogno di tutta questa precisione?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Originariamente inviato da oregon
    Considera che il timer non e' sempre molto preciso.

    Ma, in genere, e' in ritardo, non in anticipo ...

    Una decina di secondi su 5 minuti, comunque, non mi sembra un gran problema ... hai bisogno di tutta questa precisione?
    Ciao e grazie,
    purtroppo dovrei essere abbastanza preciso, 1 secondo max 2 sarebbero tollerabili ma arrivare a una decina è troppo. Anche io ero convinto che potesse solo accumulare ritardo e non anticipare, ma è quel che succede purtroppo.
    Non ho trovato altri metodi per eseguire una routine ogni 5 minuti, mi servirebbe proprio alle varie scadenze dei 5 minuti 9:00 - 9:05- 9:10 etc. Ci sono altri metodi che si possono usare in alternativa al timer?
    Grazie, ciao
    Uomolupo

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se deve essere alla scadenza dei cinque minuti, fai un timer ogni 4 minuti che faccia partire un timer ogni secondo ... cosi' controlli l'orario direttamente ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Grazie,
    quindi se ho capito bene nel primo timer (dove A= A+1 ad ogni ciclo) quando A = 4 faccio partire il nuovo timer a 1 secondo, metto A= 0 e lo disabilito, nel secondo controllo la datediff a secondi con timevalue(now) e se è 0 con l'orario che interessa a me di volta in volta (orario che aggiornerò in qualche modo in maniera che proceda di 5 minuti in 5 minuti) chiamo la routine delle operazioni, disabilito il timer a 1 secondo e riabilito il timer a 1 minuto. Ho capito bene?
    Grazie, ciao
    Uomolupo

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sì ... capito bene. Cosi' sara' preciso.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.