Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler bei Parameterübergabe
Jörn Arne
21.06.2006, 13:46
Hallo!
Vor kurzem habe das OS 2.03 auf meine C-Control gespielt (von 2.02) und jetzt treten Probleme bei Funktionsaufrufen auf.
Wenn ich mehr als einen Paramerter übergeben möchte, arbeitet die Unit nicht mehr richtig
also FUNCTION a (x as byte)
....
funktioniert noch aber bei
FUNCTION b(x as byte, y as byte)
...
klappt es nicht mehr.
Ich bin dankbar für jede Hilfe!
Gruß
Jörn
Trat der Fehler erst nach dem Update auf? Welche Compiler Version verwendest Du?
Jörn Arne
21.06.2006, 18:29
Hallo!
Ehrlich gesagt weiß ich nicht, ob der Fehler vorher schon aufgetreten ist, diese Unit verwende ich nur zum Experimentieren.
Ich verwende BASIC++ 2.1.8
bpp.exe 2.1.0.228
Gruß
Jörn
Hmmm also ich habe mir der gleichen Version hier keine Probleme. Poste doch mal das Programm.
Jörn Arne
21.06.2006, 20:28
Also die einfachsten Routinen funktionieren nicht:
FUNCTION ADDBYTE(a as BYTE,b as BYTE)
RETURN a+b
END FUNCTION
PRINT "ERGEBNIS:" & ADDBYTE(13,26)
;---------------------------------------------
als Ergebnis stand im Terminalfenster
RGEBNIS:13
Im Terminalfenster kam das E auch nicht mit an, nur RGEBNIS:13
FUNCTION ADDBYTE(a as BYTE,b as BYTE)
RETURN a+b
END FUNCTION
lcd.init
lcd.clear
lcd.PRINT "ERGEBNIS:" & ADDBYTE(13,26)
lcd.off
Bei mir steht auf dem Display 39.
Jörn Arne
21.06.2006, 20:32
Das klappt bei mir leider nicht
Naja der Fehler muss irgendwo anders liegen. An der Parameterübergabe liegt es nicht.
Hi Jörn,
es bringt wahrscheinlich nicht viel Dein Problem in alle möglichen Foren zu schreiben. Entweder ist Deine Unit wirklich kaputt (fast unwahrscheinlich) oder es stimmt irgendetwas anderes nicht.
Probier doch mal dieses Programm aus. Was kommt dabei heraus?
define i as byte
FUNCTION ADDBYTE(a as BYTE,b as BYTE)
RETURN a+b
END FUNCTION
for i= 1 to 5
PRINT "ERGEBNIS:" & ADDBYTE(i,40)
next
Print 5+30 'Funktioniert eigentlich ne Addition
Jörn Arne
22.06.2006, 10:54
Hallo!
Vielen Dank für eure Antworten!
Ich habe jetzt nun mal das Testprogramm von Dierk geladen und zwar mit BASIC++2006 2.1.8
Resultat:
ERGEBNIS:41
ERGEBNIS:42
ERGEBNIS:43
ERGEBNIS:44
ERGEBNIS:45
35
->Ich war Überrascht, so wie es sein soll
Es ist nun so, dass ich meine Projekte an einem anderen PC erstelle, als diesen und in die jeweiligen Controls lade...
An den bin ich mit dem selben Code gegangen und habe das Projekt geladen
Resultat:
RGEBNIS:1
ERGEBNIS:2
ERGEBNIS:3
ERGEBNIS:4
ERGEBNIS:5
35
->Der gewohnte Fehler
Scheinbar sind die Compiler Versionen nicht auf dem gleichen Stand, das werde ich nun ändern.
Ich danke euch allen für eure Hilfe und eure Gedult!!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.