Hallo, habe mal wieder ein Problem mit Bascom. Ich verwende ein Main-Programm und darunter verschiedene Unterprogramme (z.B. UP Handfunktion). Nun wird bei den verschiedenen Unterprogrammen etwas im LCD Display angezeigt. Ich möchte nun mit der #If Routine einen Debug-Modus einführen und somit auf den LCD Display entsprechend andere Dinge anzeigen lassen. Ein Beispiel: Im Normalbetrieb wird bei Handbetrieb auf dem Display " Handbetrieb EIN" ausgegeben. Hinter diesem Handbetrieb steckt aber im Programm eine Betriebsart, die als Zahl behandelt wird. Nun möchte ich, wenn der Debug-Modus bei der Compilierung angewählt ist, dass im Display bei Handfunktion zu lesen steht "Betriebsart = 105". So, ich habe bereits eine Variable angelegt mit Const Debuggen = 0/1. Mit #If Debuggen = 0 frage ich das ganze ab und funktioniert auch. Nur im Unterprogramm Handbetrieb, kann ich die Konstante Debuggen nicht abfragen, da sie dort nicht bekannt ist. Auch eine Übergabe mit "Declare Sub Handeingabe (const Debuggen as byte)" funktioniert nicht. Was muss ich tun, damit diese Konstante Global verfügbar ist? Danke für eure Hilfe und ich hoffe ich konnte mein Problem einigermaßen erläutern. Gruß Jodi
Du kannst die mit Const definierten Konstanten wie Variablen auswerten (aber nicht ändern). ...
Die Konstanten sind immer global verfügbar, aber erst ab der Programmzeile, in der du sie definierst. Du hast wahrscheinlich die Definition des Unterprogramms in deinem Code vor der Definition der Konstanten stehen. BASCOM ist da etwas empfindlich. Du kannst nichts benutzen, bevor es definiert wurde.
@mue-c VIELEN DANK!!! Das war die Lösung, ich habe das $include VOR der Const Definition stehen gehabt. Nun funktioniert es! Tausend Dank!!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.