Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: zuviele Gosub Kategorie: Programmierung Basic (von Michael - 29.12.2004 15:16)
 Als Antwort auf Re: zuviele Gosub von Achim - 29.12.2004 13:36
hallo achim,

besten dank

mfg michael

> Hi,
>
> > in meinem programm sind 3 gosubs enthalten, soweit so gut.
> > nach einer fehlerabfrage wird abgebrochen und ans programmanfang gesprungen.
> > jetzt kommt es so glaube ich an einen überlauf der gosubs.
>
> Das kann passieren, wenn Du innerhalb der Unterroutine mit goto an den Programmanfang springst, also bevor das "return" erreicht wird.  Etwa so:
>
>
> #start
> ...
> gosub sub1
> ...
> end
>
> #sub1
> ...
> if Fehler_Bedingung then goto start
> ...
> return
>
>
> Ist das bei Dir so?
>
> > ich hoffe das war verständlich.
> > kann man am programmanfang irgendwie die gosubs resetten?
>
> Nein. Du darfst es so einfach nicht machen. Du könntest Dir in der Unterroutine ein Bit-Flag setzen, was Du nach dem Rücksprung mit return im Hauptprogramm abfragst, oder Du könntest die Unterroutine einen booleschen Wert zurückgeben lassen, etwa ON im Erfolgsfall und OFF im Fehlerfall:
>
>
> #start
> ...
> if not sub1 goto start
> ...
> end
>
> #sub1
> ...
> if Fehler_Bedingung then return OFF
> ...
> return ON
>
>
> Bye
>  Achim

 Antwort schreiben

Bisherige Antworten: