Problem mit Form1 schließen nach 10 Min

Also!
Ich möchte das sich beispielsweise Form1 nach 10 Minuten automatisch schließt. Meiner Meinung nach geht das nur mit einem Timer.
Code:
Private Sub Timer1_Timer()
Unload Me
End Sub

Eigenschaften Timer1:
Interval: 600000
Doch wenn ich bei Interval 600000 eingebe sagt mir VB6:
Ungültiger Eigenschaftwert

Giebt es eine Methode wie ich Interval trotzdem auf 600000 setzen kann?
Oder giebt es eine andere Möglichkeit die Form1 nach exakt 10 min. zu schließen?
 
Geht nur mit Timer... <- da hast`e recht!
Aber anders...

Den Timer stellst Du auf 1000 (= 1sec.)
In der Timer Sub erstellst Du eine Variable welche die Aufrufe zählt (x=x+1).
dann mit if abfragen ob x >= 600 ist und wenn ja... Ende.
Es gibt auch die Möglichkeit mit x=Timer (oder Time, oder Date ne Date wars Datum... hmm... ich könnte ja jetzt nagucken... ach ne...) die Zeit abzufragen...
Da musst Du dann die "Startzeit" stetig mit der aktuellen Zeit vergleichen, wenn dann eine Differenz von 10 min. gehst Du ins "Unload Me".
(Bei der zweiten Möglichkeit aufpassen! 23:55:00 + 10 min. ergibt 00:05:00 und die Differenz ist minus.)
 
Zuletzt bearbeitet:
Was ist eine Vari:confused:
So erfahren bin ich noch nicht

Edit: Jetzt hab ich es. Auf der Form sind 4 Timer alle nicht Enabled also disabled
Code:
Private Sub Form_Load()
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Timer2.Enabled = True
End Sub

Private Sub Timer2_Timer()
Timer3.Enabled = True
End Sub

Private Sub Timer3_Timer()
Timer4.Enabled = True
End Sub

Private Sub Timer4_Timer()
Unload Me
End Sub
 
Zuletzt bearbeitet:
Äh, wi wärs damit:
Visual Basic:
Private Sub Form_Load()
 Timer1.Interval = 60000 '1 Minute
 Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
 Static iCounter As Integer
 iCounter = iCounter + 1 'Minutencounter Hochzählen
 If iCounter = 11 Then 'Wenn die Zeit erreicht (Anzahl Minuten + 1)
  Timer1.Enabled = False 'Timer deaktivieren
  Unload Me 'Form entladen
 End If
End Sub
Ist doch etwas Ressourcen schonender.


Der Doc!
 
Ich hätt auch noch nen Vorschlag:

Visual Basic:
dim StartZeit as double
Private Sub Timer1_Timer()
  if cdbl(time) + 0.007 >= cdbl(time) then
    'Zeit abgelaufen :(
  end if
end sub

private sub Form_Load()
  Timer1.Interval=10000   'is eig egal bei mir ;)
  StartZeit=time
end sub

Nur der Vollständigkeit halber :D
 
Habe noch eine Frage und wollte nicht noch einen Thread erstellen:
Ich habe heute mal nachgedacht. Also da ich ja eine Shareware Version meines Programmes erstellen will, eignet sich das schließen nach 10 min. oder länger. Wenn nun aber das Programm geschlossen wurde, kann der jeweilige Benutzer das Programm ja sofort wieder starten. Wie kann ich erreichen, dass das Programm nur einmalig pro Computer bzw. User gestartet wird? Eigentlich geht das ja nur über die Registry, oder?:confused:
 
Schau dir mal diesen Post hier an, da kam die gleiche Frage schon mal. Am besten ist, das ganze mittels Verschlüsselung zu machen, damit dein Registry-Eintrag nicht sinnvoll verändert werden kann.

Solltest du weitere Fragen haben, mach doch einen neuen Thread auf (Threads kosten ja nichts ;)), in einem Thread sollte nur das gleiche Thema behandelt werden.


Der Doc!
 
Zurück