PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Integer vergleichen - seltsames Verhalten



jcrypter
19.05.2011, 13:10
Hallo liebes Forum,

ich versuche mich mal wieder an Bascom.

Ich habe eine Prozedur deklariert, der eine Integer übergeben wird, innerhalb der Prozedur wird die Integer in If-Verzweigungen verglichen.

Seltsamer weise, scheint die Variable während des Ablaufes verändert zu werden. Näheres dazu später:




...


Declare Sub test(byval i as Integer)

...

Do


for zaehler = 1 to 5
call test(zaehler)
next zaehler


...

call test(6)

loop

Sub test(byval i as Integer)

if i = 1 or i = 6 then
...
end if
if i = 2 or i = 6 then
...
end if
if i = 3 or i = 6 then
...
end if
if i = 4 or i = 6 then
...
end if
if i = 5 or i = 6 then
...
end if


end sub


(aus dem Gedächtnis, habe den Code nicht hier)

Wenn die Schleife durchläuft funktioniert alles reibungslos, alle Fälle werden durchlaufen.

Wenn ich die Prozedur allerdings nur einmal aufrufe und eine 6 übergebe, dann werden nicht alle Fälle ausgeführt. Ich konnte bisher noch kein Muster erkennen nachdem das passiert. Mal werden alle ausgeführt, mal nur zwei von fünf.. es ist scheinbar willkürlich, was ja nicht sein kann.

Hat jemand eine Idee woran es liegen kann?

Danke für eure Mühe!
Crypi

PicNick
19.05.2011, 14:05
Du wirst den Code (möglichst original) herzeigen müssen. Da dürfte es um Details gehen.

Ceos
19.05.2011, 14:21
wie PicNick schon sagt, ohne Details zu den einzelnen Fällen kann man nicht viel sagen, aber was du eventuell direkt prüfen kannst, ob irgendwo innerhalb der Fälle evtl. ein 'end sub' auftaucht, da bricht er die weitere Ausführung logischerweise ab!

jcrypter
21.05.2011, 11:25
Problem gelöst...

hwstack, swstack und frame vergrößert und jetzt geht es..

Ich gebe zu, dass ich nicht genau verstehe wie sich die Werte zusammen setzen und vermutlich bin ich jetzt zu großzügig ran gegangen aber jetzt funktioniert es!

Ich danke euch!
Crypi

da_reefer
21.05.2011, 11:38
Hallo,

MAK3 hat die Stacks sehr schön in seiner AN aufgeschlüsselt: http://www.mcselec.com/index.php?option=com_content&task=view&id=286&Itemid=57

mfg