Einzelnen Beitrag anzeigen

Sweex

Registriert seit: 25. Jun 2015
10 Beiträge
 
#1

Logikproblem mit Fokus

  Alt 25. Jun 2015, 06:48
Hallo Leute!
Ich habe ein ganz spezielles Problem und bin leider noch recht frisch in Delphi. Ich habe eine Anwendung geschrieben die verschiedene Webseiten von mir überwacht und auf einen Fehlerfall prüft. Diese soll mehrmals ausgeführt werden und jeweils in den Vordergrund springen, wenn keine andere Anwendung einen Fehlerfall meldet. Es muss so gemacht werden, da ich nicht immer alle Webseiten überwachen muss. Ich bin erst seit kurzem dabei mir Delphi anzuschauen und steige gerade erstmal in die Materie ein.
Ich möchte also das meine Anwendung bis zu 4 mal gestartet werden kann. Dazu benne ich die Anwendung in Anwendung.exe bis Anwendung 4.exe um, fertige also 4 Kopien an. Die Anwendung weiß, welche Kopie sie ist (per FileNameExtract). Jede einzelne überwacht eine andere Webseite.

Jetzt suche ich nach der einfachsten Lösung um das irgendwie umzusetzen. Alles was ich bisher versucht habe hat einfach nicht funktioniert. Wie kann ich es Lösen das:
-Die Anwendung den Fokus auf die Anwendung setzt die den Fehlerfall hat (es können mehrere Fehlerfälle bei den Anwendungen gleichzeitig vorkommen) aber erst wenn der aktuelle Fehler behoben wurde das er dann einfach den nächsten Fehlerfall in den Focus bringt (ich habe bisher die Entertaste abgefangen dafür - das möchte ich beibehalten).

Ich habe es bisher so versucht, das ich eine gemeinsame Ini datei beschrieben habe und im Fehlerfall hat jede Anwendung ein Haltesignal gesetzt. z.B. wenn Anwendung 3 einen Fehler hatte dann schrieb sie HalteSignal3=True in die Ini Datei. Jetzt hatte ich einen Timer der prüft, ob ein HalteSignal gesetzt ist, wenn nicht sollte er dann zur Anwendung mit Fehlerfall springen. Mit Enter wurde das HalteSignal der Anwendung dann zurückgesetzt. Das funktionierte leider nicht. Sobald mehrere Fehlerfälle vorkamen, stand logischerweise alles.

Mein Kopf raucht. Wer kennt eine einfache Lösung?

Geändert von Sweex (25. Jun 2015 um 06:56 Uhr)
  Mit Zitat antworten Zitat