Fehler und Wünsche

Previous topic - Next topic

KidPaddle

Hallo,

seit einigen Tage arbeite ich mit GLBasic und bisher sind mir einige Sachen aufgefallen. Ich habe GLBasic (V 4.104) aufgrund der GP2X Unterstützung bestellt und versuche nun ein kleines Spiel zu schreiben.

Folgende Kritikpunkte habe ich:
Die Einstellung für GP2X wird anscheinden vergessen. Ich muss mehrmals in "Erstellen Multiplattform" und Projektoptionen den GP2X auswählen, bevor die GPE Dateierstellt wird. Wenn der Quelltext geändert wird, geht das ganze Spiel von vorne los.

Wenn man zwei Instanzen von GLBasic geöffnet hat, z. B. um in einem anderen Quelltext zu linsen und dort F8/F5 gedrückt hat, kann man sein eigenes Projekt nicht mehr kompilieren, anscheinend wird die Datei des anderen Projektes mit eingebunden. Eventuell im temporären Verzeichnis ein separates Unterverzeichnis pro Projekt erstellen. Erst nach beenden beider GLBasic - Instanzen kann das Projekt wieder kompiliert  werden.

Das was mir bisher am meisten fehlt, ist die Verwendung von STRUCTS / RECORDS. Diese würden die Übersichtlichkeiten erhöhen, man umgeht die vielen Definitionen von Arrarys für die einzelen Statis der Gegner.

Ansonsten gefällt mir GLBasic gut. Ich hoffe Du machst weiter und wirst die Sprache und IDE um schöne neue Funktionen erweitern.

Gruß
Thomas
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

Kitty Hello

Quote from: KidPaddleDie Einstellung für GP2X wird anscheinden vergessen. Ich muss mehrmals in "Erstellen Multiplattform" und Projektoptionen den GP2X auswählen, bevor die GPE Dateierstellt wird. Wenn der Quelltext geändert wird, geht das ganze Spiel von vorne los.
Das wurde absichtlich für keine andere Platform gemacht, damit man sich die Zeit nimmt und alles sinnvoll einstellt. Macht man ja nur 1x pro Projekt.

QuoteWenn man zwei Instanzen von GLBasic geöffnet hat, z. B. um in einem anderen Quelltext zu linsen und dort F8/F5 gedrückt hat, kann man sein eigenes Projekt nicht mehr kompilieren, anscheinend wird die Datei des anderen Projektes mit eingebunden. Eventuell im temporären Verzeichnis ein separates Unterverzeichnis pro Projekt erstellen. Erst nach beenden beider GLBasic - Instanzen kann das Projekt wieder kompiliert  werden.
irgs. Ja. Das ist "Incredibuild". Drück im neuen Projekt 2x auf den Debug-Knopf, dann geht's Ich werd's beheben.

QuoteDas was mir bisher am meisten fehlt, ist die Verwendung von STRUCTS / RECORDS. Diese würden die Übersichtlichkeiten erhöhen, man umgeht die vielen Definitionen von Arrarys für die einzelen Statis der Gegner.
Du suchst nach TYPE, und das ist d'rin.

KidPaddle

Danke, TYPE ist genau der Befehl, den ich gesucht habe.

Gibt es eine Möglichkleit Konstanten zu definieren oder Variablen in anderen Quelltextdateien anzusprechen? Ich habe leider nichts gefunden, kann aber auch an meine Blindheit liegen.

Gruß
Thomas
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

Kitty Hello

Konstanten, nein. Andere Variablen mit GLOBAL.

Kitty Hello

Konstanten, nein. Andere Variablen mit GLOBAL.

KidPaddle

Irgendwie bekomme ich die Einbindung von Variablen aus anderen Dateien nicht hin.

Datei 1 sieht wie folgt aus:
Code (glbasic) Select
// --------------------------------- //
// Project: xGlobals
// Start: Sunday, March 18, 2007
// IDE Version: 4.128

PRINT Text1$, 80, 100
SHOWSCREEN
MOUSEWAIT
Datei 2 enthält die Variable Text1$
Code (glbasic) Select
// --------------------------------- //
// Project: xGlobals
// Start: Sunday, March 18, 2007
// IDE Version: 4.128

GLOBAL Text1$="Hallo World!"
In der IDE ist unter Quellen die zweite Datei eingebunden. Beim kompilieren geht der GLBasic - Teil durch, jedoch werden Fehlermeldungen vom C++ Kompiler ausgegeben.
Code (glbasic) Select
*** Configuration: WIN32 ***
precompiling:
GPC - GLBasic Precompiler V.2007.050 - 3D, NET
Wordcount:4 commands

compiling:
C:/DOKUME~1/Thomas/LOKALE~1/Temp/glbasic/gpc_temp1.cpp:8: error: expected constructor, destructor, or type conversion before '=' token
C:/DOKUME~1/Thomas/LOKALE~1/Temp/glbasic/gpc_temp1.cpp:8: error: expected `,' or `;' before '=' token
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
_______________________________________
*** Fertig ***
Zeit: 0.5 sek
Erstellen: 0 erfolgreich
*** 1 FEHLGESCHLAGEN ***
Was mache ich falsch?

Gruß
Thomas
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

D2O

Jepp, ist bei mir auch so.
Schreib ich den Code in nur eine Datei, gehts.

Edit:

Hab mal was getestet, das functioniert bei mir:
Code (glbasic) Select
a()

PRINT Text1$, 80, 100
SHOWSCREEN
MOUSEWAIT
Code (glbasic) Select
FUNCTION a:
GLOBAL Text1$ = "Hallo World! "
ENDFUNCTION
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 Global in einer Function deklarieren ^^
Wie komisch ..... :)



EDIT:

Bekomm hier im Forum seit Heute eine Fehlermeldung:

Error: Unable to connect to MySQL server. MySQL reported: Too many connections.

Manchmal gehts manchmal muss ich 4-8 mal auf nen Link klicken :(
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

Quote from: Schranz0rNe Global in einer Function deklarieren ^^
Wie komisch ..... :)
Naja, macht man eigendlich auch nicht;)
Es ging nur um zu testen.
Was ich festgestellt habe, in der externen Datei kann ich die variable zwar deklarieren aber die wert zuweisung muss im
Hauptcode sein.
Macht man die zuweisung schon in der externen datei, gits die fehlermeldung.


QuoteEDIT:

Bekomm hier im Forum seit Heute eine Fehlermeldung:

Error: Unable to connect to MySQL server. MySQL reported: Too many connections.

Manchmal gehts manchmal muss ich 4-8 mal auf nen Link klicken :(
Ja, ist bei mir auch so :(
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

Der Server spinnt z.Zt. bisserl. Sorry.
GLOBAL und LOCAL heisst nur, "Es gibt eine Variable mit diesem Namen".
Wenn ich eine GLOBAL brauche, schreib ich das immer in die Funktion oben mit rein.

KidPaddle

Und was bedeutet das nun bezogen auf mein Beispiel?
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0