Author Topic: Kleinigkeiten an GLBasic die besser sein könnten!  (Read 1585 times)

Offline metzzo

  • Mr. Polyvector
  • ***
  • Posts: 140
  • Coolo ist cool!
    • View Profile
    • programming with design
Hey Leute!

Da ich in letzter Zeit wieder etwas mehr in GLB programmiere sind mir ein paar Problemchen aufgetreten:
1) PROTOTYPE mit Strings funktioniert nicht.
2) SELECT Seiteneffekte (SELECT Foo() CASE 0: CASE 1: ENDSELECT => Foo() wird zwei mal aufgerufen. Dies kann unerwartete Seiteneffekte hervorrufen. Vor allem wenn man so Konstrukte hat wie "SELECT GetNextToken$(); CASE "FUNCTION"; ... CASE "SUB"; ... ENDSELECT" :P
3) SELECT Mehrfachmöglichkeiten für Strings "SELECT GetCurrent$(); CASE "FUNCTION", "SUB", "METHOD"; ENDSELECT" wäre eine sehr große Erleichterung
4) Öffnende und schließende Klammer hervorheben, da wo der Cursor ist in der GLB IDE. Es gibt zwar einen Menüpunkt hierfür, allerdings wäre es praktischer, wenn dies automatisch passiert.
5) Makros auskommentieren bringt nichts //?DEFINE BLABLA definiert trotzdem "BLABLA"
6) LOCAL var AS blublali = CreateBlubali() //keine Syntaxfehler und auch keine C++ Errors, aber CreateBlubali() wird nicht auferufen.
7) SUB kann mit ENDFUNCTION geschlossen werden und umgekehrt (nur ein Schönheitsfehler)
8) CODEFILE$() gibt File.gbas.gbas zurück
9) Wenn man die GLB IDE unter Wine startet, werden keine Konsolenanwendungen gestartet (Man muss diese manuell in der Kommandozeile starten)
10) Außerdem funktioniert unter Wine "Multiplatform Erstellen" nicht ("Veraltete Platform")
11) Eine Funktion namens "Gehe zu Zeile" wäre sehr nützlich (vor allem wenn man viel mit CODELINE() arbeitet)
12) Eine Funktion namenx "X_LOOKAT x, y, z" wäre sehr nützlich. Diese setzt die Rotation der aktuellen Bewegungsmatrix in Richtung x,y,z. Falls du diese nicht direkt in die Sprache implementieren willst, könntest du eine FUNCTION zeigen, die das macht (biin nämlich zu blöd dafür :/)
13) Der Debugger stürzt unter Wine mit der Meldung "Unhandled Exception" ab. Dies passiert mit einer Konsolenanwendung nicht.

Es kann sein, dass einige Fehler bereits bugfixed worden sind, kann mir leider nicht das V10 Update laden, weil hier das Internet in Kroatien zu langsam für ist :/


MfG
« Last Edit: 2011-Aug-19 by coolo »
That's no Bug, that's my project!

http://programming-with-design.at/

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10776
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
1 - fix
2a - hm, bitte selbst, sonst Performanceverlust
2b - geht schon
Code: (glbasic) [Select]
LOCAL a$="bar"
SELECT a$
CASE "foo"
DEBUG "foo\n"
CASE "bar"
DEBUG "bar\n"
ENDSELECT

3 - auf Todo - weit unten
4 - hmmm
5 geht schon
Code: (glbasic) [Select]
//?DEFINE GAGA
?IFDEF GAGA
?ERROR super!
?ENDIF
6 - korrigiert (aber langsamer als Übergabe an Funktion, wg 1x Copy operator + 2xC'tor)
Code: (glbasic) [Select]
TYPE blublali
xxx
ENDTYPE
LOCAL v = 7
DEBUG "v" + v+"\n"
LOCAL var AS blublali = CreateBlubali()
DEBUG "varxxx" + var.xxx+"\n"


FUNCTION CreateBlubali AS blublali:
LOCAL b AS blublali
b.xxx = 17
RETURN b
ENDFUNCTION

8 - fix
11 - schreib mit
Code: (glbasic) [Select]
DEBUG "\""+CODELINE$()+"\"("+CODELINE()+") Klick hier\n"
dann kannst da doppelklicken.

12 - kapier ich irgendwie nicht. Bitte eigener Thread (X_LOOKAT)
13 - "§$%"§% WINE!!!

:)