Hallo,

um Anwender von Bascom in Verbindung nicht in die selbe Falle tappen zu lassen, in der ich ein paar Stunden zugebracht habe, folgender Hinweis:

Die Regfile ist noch etwas buggy.

Ich wunderte mich, warum Subroutinen, die seit langem bei mir auf M32, M8 und sogar M168 klaglos laufen, plötzlich völlig unsinnige Ergebnisse ausspuckten. Meine ursprünglich Vermutung ich würde bei den Stacks bzw. der Framegröße Fehler machen, bestätigte sich nicht.

Des Rätsels Lösung:

Immer wenn eine Multiplikation mit einer Variable als Operand im Spiel ist, muss die Variable als Long definiert werden, auch wenn das Ergebnis locker in ein Word oder sogar Byte passen würde.

Beispiel:

Dim Test as Word

Test = 2*3 geht

Test = 2
Test = Test * 3 geht nicht. Resultat ist immer 0.

Wird hingegen Test als Long dimensioniert, geht auch letzteres Beispiel.

Das klingt einfach, es hat mich aber tatsächlich Schweiß gekostet den Fehler zu finden. BTW: Alle anderen Rechenoperationen laufen hingegen klaglos.

Bevor jetzt das Geschrei anhebt: "Bascom taugt eben nichts" sei darauf hingewiesen, daß der Tiny 45 neu ist und noch nicht lange in nennenswerten Stückzahlen angeboten wird. Insofern ist es eher erstaunlich, daß es überhaupt schon eine Regfile gibt.

Grüße
Henrik