Hallo,
ich bin gerade dabei, ein kleines Programm für das Backup aller gespeicherten Versionen von Dateien (wie z.B. *.au3) zu schreiben.
Das klappt auch schon fast wie gewünscht, aber eben nur fast!
Das Problem:
Ein einfachklick aufs Trayicon soll einen Backup-Lauf "außer der Reihe" auslösen, ein Doppelklick den letzten Stand markieren.
Codeausschnitt
[autoit]
Opt("TrayMenuMode",1)
opt("TrayOnEventMode",1)
.
.
$trayeinstellungen = TrayCreateItem("Einstellungen")
TrayItemSetOnEvent($trayeinstellungen,"einstellungen")
TrayCreateItem("")
$Trayueber = TrayCreateItem("Über")
TrayItemSetOnEvent($Trayueber,"ueber")
TrayCreateItem("")
$traypause = TrayCreateItem("Pause")
TrayItemSetOnEvent($traypause,"paus")
TrayCreateItem("")
$trayende = TrayCreateItem("Beenden")
TrayItemSetOnEvent($trayende,"ende")
TraySetOnEvent(-7,"trayklick")
TraySetOnEvent(-13,"traydoppelklick")
traySetClick (8)
TraySetState()
.
.
.
func traydoppelklick()
$kennz=1
MsgBox("","doppelklick",$kennz)
backupnow()
$kennz=0
EndFunc
func trayklick()
sleep(500)
MsgBox("","klick",$kennz)
if $kennz = 1 then Return
backupnow()
EndFunc
Nun passiert es aber immer, daß beim Doppelklick zuerst die func des einfachklicks aufgerufen wird und danach die des Doppelklicks.
Der Einfachklick funtioniert, nur beim Doppelklick erscheint zuerst die MsgBox des E-Klicks mit $kennz = 0, danach die Box des D-klicks mit einer 1.
Ist ja eigentlich auch logisch, bevor die erste func nicht abgearbeitet ist, wird die zweite nicht aufgerufen. Wie bewerkstellige ich es aber, daß bein D-klick nicht auch der E-klick abgearbeitet wird?
Vielen Dank schon mal
Der Hexer