Laufende Function abbrechen.

02/28/2009 22:38 NBA#1
Hi,
hab (mal wieder :D ) ein Problem:
Wenn ich einen D-Check mache, kommt der ganze Adlibenable kram, aber die normalerweise laufende Function wird nicht abgebrochen. (was fatal wirken kann). Hat da wer ne idee?

Also ez. ma als beispiel:
Code:
$c = 0

Func C()
	$c = $c + 1
EndFunc   ;==>C

Func I()
	If $c = 20 Then
		Send("b")
		Exit
	EndIf
EndFunc   ;==>I

For $s = 20 To 0 Step -1

	AdlibEnable("I", 1)
	C()
	Send($c)
Next
AdlibDisable()
Nun will ich aber den script nicht beenden, sondern die erste function einer schleife wiederaufrufen. Hat da wer ne idee?

MfG
NBA
03/01/2009 20:01 Painful Pete#2
Ich hab das ganz amateurhaft gelöst :-)

Ich hab jede func in ne while schleife gepackt und wenn der dcheck triggert, dann soll exitloop gecallt werden. Also machst in deine dcheck schon das ganze rein

Also:

PHP Code:
func abc()
While 
1
.
.
.
Exitloop
Wend 
Musst nur aufpassen, dass du wirklich am Ende jeder func ein Exitloop nochmal vor dem Wend schreibst, sonst bleibt er dir in einer func hängen :D

Ich hoffe es war einigermaßen verständlich ;)
03/01/2009 20:14 NBA#3
?! Kapiers trotzdem nicht, probs mal morgen wenn sich meine Wut auf wen bestimmtes gelegt hat...
03/01/2009 23:27 Painful Pete#4
Exitloop kann ja nur while schleifen oder for to schleifen usw beenden.
also musst du die func, die du unter umständen beenden willst in ne while schleife packen und ein exitloop am ende noch hinpacken.

is schwierig zu erklären :)
03/02/2009 11:15 Jacob_G#5
Flag setzten und mit Return beenden?
03/02/2009 13:00 Dunham#6
Quote:
Originally Posted by Painful Pete View Post
Exitloop kann ja nur while schleifen oder for to schleifen usw beenden.
also musst du die func, die du unter umständen beenden willst in ne while schleife packen und ein exitloop am ende noch hinpacken.

is schwierig zu erklären :)
jaa aber wenn er das While 1 macht läuft die schleife ja ehh min einmal durch was er nicht will oder seh ich das falsch ^^ ich würds noch ein bissel ändern
PHP Code:
$stop 0
While $stop <> 1
hier 
die funktion
exitloop
Wend 
soo un wenn er dann stirbt oder sonnst was passiert wenn halt die funktion abgebrochen wird schreibste einfach dann noch $stop = 1 dazu ^^
03/02/2009 14:22 NBA#7
Aso...ez kapier ichs..naja, wie ist das mit dem Flag XNinja? Haste da mal nen kleines beispiel?