Endif Bug....immer wieder

Previous topic - Next topic

Veritas

Hai, also mein Problem. Ich hab immer diesen Endif Bug.
Code (glbasic) Select

// ------------------------------------------------------------- //
// ---  printfps, by 'Hemlos", taken from GLB board  ---
// ------------------------------------------------------------- //
FUNCTION printfps:l_x,l_y
GLOBAL fps_time,fps_counter,s_FPS,fps_temp
    fps_time = GETTIMERALL()
    fps_counter = fps_counter + 1
   [i][b] IF (fps_time-fps_temp)>1000[/b][/i] <<---error : IF without ENDIF / THEN
fps_temp = fps_time
s_FPS = fps_counter
fps_counter = 0
    ENDIF
    PRINT s_FPS+" Frames",l_x,l_y
    RETURN s_FPS
ENDFUNCTION

Das macht mich echt absolut wahnsinnig. Das ist am Anfang schonmal aufgetreten, damals hab ich mich schon gewundert. Aber es kann doch nicht sein das es 100mal compilieren problemlos funktioniert und DANN auf einmal fällt Glb ein das es ja doch nicht stimmen könnte. Habs auch nach nem neustart nicht mehr zum laufen gebracht. Die Funktion ist ja nichtmal von mir sondern hier ausm Forum und hat auch immer so funktioniert. Aber so stets ja auch im Tutorial. Das ist echt total komisch. Ist das nur bei mir so oder habt ihr das auch hin und wieder?
Grüße Veritas
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

D2O

Geht Tadellos,
muss wo anders liegen.

Gib mal den ganze code.
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Veritas

#2

So siehts aus. Also selbst wenn ich jetzt meinen Code reinstelle (tu ich ja eh oft genug :P), was hat das dann genau mit dem BUG an DER Stelle zu tun?
Selbst wenns so wär das es ein Fehler in meinem Code ist, wäre es sehr fragwürdig warum GlBasic dann dort den Fehler anzeigt.
Also bitte nochmal drüber nachdenken. Bei mir hat es ja auch die ganze Zeit funktioniert und am aufruf der Funktion oder sonstiges habe ich auch nichts geändert.
Mir gehts deswegen hier um einen Bugreport.
Habe es schon öfter erlebt, der Code geht, ich speicher, schließe. Nächster Tag ich öffne das Projekt und hab seither nichts geändert, plötzlich gehts nicht mehr.
Davon rede ich.
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

Tiuz

Hallo Veritas,

ich würde mal versuchen die Klammer anders zu setzen, oder ganz wegzulassen.

Code (glbasic) Select

IF (fps_time - fps_temp > 1000)
   ...
ENDIF


Vieleicht erwartet der Compiler ein THEN wenn nach der letzten geschlossenen Klammer noch was kommt ?  :doubt:

Grüße, Tiuz

D2O

#4
Moment,
auf dem Bild der IDE sieht man ein,
Quoteif oi > untenmax
oi = 0
vi = 0

hier fehlt ein endif.
danach wird die gefragte function aufgerufen,
hier kommt nochmals ein If endif vor.
Das endif wird aber für die davor aufgerufene Aktion benutzt und so steht
dann wieder das If in der Function alleine da.
Das ist dann der fehler und wird ansich auch korrekt für den Compiler angezeigt.
Für uns aber im ersten augenblick komisch und verwirrend :nana:

Edit: Hab noch was vergessen, ich Trinke HefeWeizen :)
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Schranz0r

#5
Japp genau D²0!


UND:

Auf deinem Bild ist das IF nicht gehighlightet!

Klick einfach mal rechts neben dem Codeeditor auf den Tab: Sprünge

Dann sollte das IF gehighlightet werden!

sowas kann vorkommen wenn man Text Copy&Parst.
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

Veritas

Ok, klingt logisch...*verwirrt*. Ok DIESMAL ^^ wars mal wieder MEIN Fehler ^^ aber ich schwör das is mir schon öfter passiert ^^

An alle Admins Thema kann gelöscht werden!!!
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

D2O

Quote from: Veritas on 2008-Aug-12
Ok, klingt logisch...*verwirrt*. Ok DIESMAL ^^ wars mal wieder MEIN Fehler ^^ aber ich schwör das is mir schon öfter passiert ^^

An alle Admins Thema kann gelöscht werden!!!
Nei nicht löschen, aber vieleicht alles etwas Kürzen und ins FAQ eintragen.
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Schranz0r

Ne IF-Anweisung muss doch nicht ins FAQ ^^
Das ist im jedem Beispiel drin( richtig ;) ) und in der Hilfe steht es auch.
Man muss halt ab und an auch mal F1 drücken ;)
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

D2O

MIr gehts nicht so um das If sondern als "Oft vorkommende Fehler" .
Ist aber Deine entscheidung :nana:

So, ich Fahr jetzt mit der Fam. nach München in den Zoo =D
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Kitty Hello

ich versuche dem Compiler besser mitzuteilen, "wo" das endif fehlt.

Schranz0r

Ja wär gut auf das IF zu verweisen, das nicht mir ENDIF geschlossen wurde oder so :)
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