Bascom Unterprogramm Compilieren

Gast #2091483
Lesenswert?

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
Gast #2091592
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren