16. februar 2006 - 10:41Der er
5 kommentarer og 1 løsning
vb timer stopper
Hej
Jeg skal bruge en timer, der ikke stopper når jeg der åbnes en anden dialogbox...
Som det ses at min kode har jeg både prøvet med vb timer og en api timer men de stopper begge to ved linien "Send = FaxDoc.Send()"
nogen der kan hjælpe......
----------- modul ------------ Option Explicit Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Public Sub MyTimer(hwnd As Long, msg As Long, idTimer As Long, dwTime As Long) Static i As Integer
i = i + 1 Form1.TimerLabel.Caption = Format$(i) End Sub
------------- form -----------------------------
Option Explicit
Private TimerID As Long
Private Sub cmd_SendFax_Click() Dim Send As Integer Dim FaxServ As FAXCOMLib.FaxServer Dim FaxDoc As FAXCOMLib.FaxDoc
Jeg har ikke kigget din kildetekst igennem, men jeg mener at timeren kører på en var af typen integer og derfor højst kan køre ca. 1 minut. Du må så lave en anden tæller, der tæller 1 op for hvert 10. sek. eller hvad du nu vælger.
Fra VB books online: The interval can be between 0 and 64,767, inclusive, which means that even the longest interval can't be much longer than one minute (about 64.8 seconds).
Jeg har et program, der sender mails til mange modtagere med et vist (kort) interval, programmet skal nå at hente data i en fil m.v. inden næste afsendelse. Timeren er sat til intervallet 1000 millesek. Jeg ved ikke om du kan opnå noget ved at sætte timerID as Long - når nu timeren kører med Integer. Min anbefaling er at bruge standard timer og hvis du har brug for mere end 1 minut, så at lave en ekstern tæller. Jeg vender ikke tilbage til sagen.
Du har ikke svaret på hvilken VB-version, du anvender!
Private Sub Timer1_Timer() If chksend.Value = 0 Then Exit Sub If knsend.Caption <> "Send mail" Then Exit Sub
If forste = 0 Then knsend_Click forste = 1 v = 0 End If
v = v + 1 t = scrinterval.Value - v labintsek.Caption = t On Error GoTo fejlauto
If v >= scrinterval.Value Then
If lstdata.ListIndex < lstdata.ListCount - 1 Then lstdata.ListIndex = lstdata.ListIndex + 1 forste = 1 Else chksend.Value = 0 X = MsgBox("Så er listen i bund.", 64, "Medd. fra 'Send automatisk.") forste = 0 Exit Sub End If
'txtdata(2).Text = "abonn@feliks.dk" knsend_Click v = 0 End If
Exit Sub
fejlauto: X = MsgBox("Du har ikke valgt database, post eller mail-tekst.", 48, "Medd fra 'Send automatisk',") chksend.Value = 0 Exit Sub Resume Next End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.