einmal const, in allen Modulen verfügbar?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

steffn
***
Beiträge: 92
Registriert: So, 16.11.2008 15:02

einmal const, in allen Modulen verfügbar?

Beitrag von steffn »

Hallo und hilfe!

Ich komme gerade mal wieder nicht weiter und benötige einen Tipp. Ich habe mehrere Module und viele Konstanten, die ich bisher in jedem Modul deklarieren muss, da ich nicht weiß, wie die Schreibweise aussieht, damit eine Konstante in allen Modulen einer Bibliothek verfügbar ist.
Damit soll nun Schluss sein, weil ich denke, dass einmal aufschreiben reichen müsste. Ich denke, dass 'global' nicht das richtige ist, schaffe es aber gerade nicht anders - wer kann helfen? :o
oo4.1.2 in winxp pro mit sp3
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: einmal const, in allen Modulen verfügbar?

Beitrag von Charly »

Hallo!

Ich habe es gerade damit probiert, dass ich vor Const noch ein Public gesetzt habe und natürlich außerhalb eines subs deklariert habe. Da konnte ich von einem anderen Modul aus zugreifen.

Code: Alles auswählen

Public Const MWST = 19%
Vielleich löst das dein Problem.

Gruß

Charly
steffn
***
Beiträge: 92
Registriert: So, 16.11.2008 15:02

Re: einmal const, in allen Modulen verfügbar?

Beitrag von steffn »

Danke, aber:

Code: Alles auswählen

public const Konstante as integer = VorigeKonstante
BASIC-Syntaxfehler.
Syntaxfehler.

Da habe ich dieses Thema eröffnet =)

Warum funktioniert 'public' nicht mit einem Verweis auf eine Konstante mit "= 12345"?
oo4.1.2 in winxp pro mit sp3
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: einmal const, in allen Modulen verfügbar?

Beitrag von Charly »

Hallo Steffn!

Da hast du eine interessante Frage gestellt.

Ich habe jetzt versucht, den Wert einer normalen Variablen einer Konstanten zuzuweisen. Auch das ging nicht. Ich glaube, hier wurde von den Programmierern eine generelle Sperre gesetzt, durch die man einer Konstanten den Wert nicht durch eine Variable zuweisen kann. Vermutlich weil const eigentlich so verwendet wir wie Dim. Hier wir eine Konstante deklariert, die sich nicht mehr verändern darf.
Bei "= Variable" erfolgt eine Wertzuweisung. Was aber ist, wenn sich nach der Wertzuweisung die Variable ändert. Dann müsste sich auch die Konstante ändern. Und Basic macht keinen Unterschied, ob die Variable selber eine Konstante ist oder nicht.

Eine andere Erklärung habe ich nicht.

gruß
Charly
steffn
***
Beiträge: 92
Registriert: So, 16.11.2008 15:02

Re: einmal const, in allen Modulen verfügbar?

Beitrag von steffn »

Das mit der "=Variable" ist mir klar, ich meinte allerdings ganz gezielt "=Konstante".

Also speichere ich das als "geht nicht" ab und schreibe die Zahlen selber dahinter.
Zuletzt geändert von steffn am Sa, 10.01.2009 20:45, insgesamt 1-mal geändert.
oo4.1.2 in winxp pro mit sp3
steffn
***
Beiträge: 92
Registriert: So, 16.11.2008 15:02

Re: einmal const, in allen Modulen verfügbar?

Beitrag von steffn »

Ja, funktioniert.
Und jetzt lösch mal das erste "public".

Also das finde ich (mit meinem jetzigen Wissen) nicht wirklich logisch und tendiere zu sehr amüsant :D
oo4.1.2 in winxp pro mit sp3
Antworten