Variable Deklarieren funktioniert nicht

Previous topic - Next topic

TheCoder

Hallo,

ich habe heute in GLBasic versucht eine Variable zu deklarieren und über den "Print"-Befel auszuschreiben. Doch leider macht der Compiler nicht mit  :(

Hier der Source Code:

LET a = 5

PRINT a, 100, 100

SHOWSCREEN

MOUSEWAIT

Und, das, was der Compiler sagt:

*** Configuration: WIN32 ***
precompiling:
GPC - GLBasic Precompiler V.10.104 SN:946429e7 - 3D, NET
"erste Tests.gbas"(11) warning : probably unassigned variable : a
"erste Tests.gbas"(11) error : variable is not explicitly defined : a

Selbst die Beispiele aus dem Handbuch klappen nicht.

Was nun?

LG, TheCoder
Viele Grüße, TheCoder

Kinds of regards, TheCoder

kanonet

Willkommen TheCoder!

Leider sind die Hilfedateien an manchen Stellen sehr veraltet. LET ist absolut veraltet und sollte nicht mehr verwendet werden. Schaue dir statt dessen LOCAL und GLOBAL an. Grundsätzlich sollte immer LOCAl bevorzugt werden, GLOBAL nur wenn es absolut nötig ist.Wie gesagt, schaue dir die Befehle in der Hilfe an.

Alternativ kannst du den zwang zur Deklaration auch ausschalten, gehe dazu unter Projekt -> Optionen und entferne das Häkchen bei "Explizite Deklaration". Alle Variablen die nicht deklariert wurden, werden dann automatisch als Global deklariert. Für kleine Projekt oder zum testen von Codeschnippseln oder Beispielen ist das ganz nützlich. Für größere Projekte empfehle ich aber dringen immer mit expliziter Deklaration zu arbeiten, um Fehler zu vermeiden. Ist aber letztendlich eine Frage der persönlichen Gewohnheit.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

TheCoder

Ah, super Support! Ging ja echt fix! Danke  :nw:
Viele Grüße, TheCoder

Kinds of regards, TheCoder

Schranz0r

Genau, LET weg und dafür LOCAL,GLOBAL,CONSTANT und STATIC benutzen!
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard