Hi,
ich möchte mit einer Methode start() (s.u.) einen "quasi" Endlos-Prozess starten.
Das heißt konkret: wenn ich den Start-Button drücke, wird die Methode start() aufgerufen, und der Prozess wird gestartet. Danach soll er wieder zurück zum Hauptframe &mainControlFrame() (mit dem Start und Stop Button) zurück, wo ich den Prozess wieder mit stop() beenden kann. Mein Problem dabei ist aber, dass er nicht zu diesem Frame zurückkehrt weil er auf einen Rückgabewert von enlessLoop() wartet. Wie kann ich das verhindern?
'exec' machts übrigens auch nicht.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sub start {
# check-Variable auf 1 (on) stellen..
open (ONOFF,">OnOff.num") || die ("Can't open OnOff.num!");
flock(ONOFF, 2) or &cgierr("unable to get exclusive lock on OnOff.num.\nReason: $!");
print ONOFF "1";
close ONOFF;
#&endlessLoop(); # geht so nicht weil auf return-value wartet..
# hier wartet er auch! -> warum?
{ exec (&endlessLoop()) }; print STDERR "couldn't exec &endlessLoop(): $!";
&mainControlFrame(); # zurück zum HauptFrame..
}
Würde mir ein Thread weiterhelfen, oder wär ich da auf dem ganz falschen Dampfer?
Vielen Dank,
Gruß Daniel\n\n
<!--EDIT|kölsch|1079094578-->