INFO - FAQ - CC2-Forum - CCPro-Forum |
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 |