Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Geladin
Anmeldungsdatum: 23.05.2019 Beiträge: 12
|
Verfasst am: 31.05.2019, 10:54 Titel: Probleme beim Kompilieren (Speicher reicht nicht) |
|
|
Ich programmier in der DOSBOX mit Quickbasic 4.5.
Nun habe ich ein kleines Maze gebastelt und kann es auch wenn ich es im QB öffnen ganz normal Spielen. Soweit so gut. Ich würde das Spiel aber gerne weitergeben und dafür Kompilieren.
Mein Problem
Gibt es da einen Trick? Hilft ein echtes DOS?
Vielen Dank im Voraus[/img] |
|
Nach oben |
|
|
RockTheSchock
Anmeldungsdatum: 04.04.2007 Beiträge: 138
|
Verfasst am: 31.05.2019, 21:17 Titel: Module benutzen |
|
|
Um Module unter QuickBasic 4.5 zu benutzen, musst du zunächst unter Optionen->Vollständiges Menü aktivieren
Dann kannst du weitere Module erzeugen mit:
Datei -> Datei erstellen
mit F2 kannst du dann zwischen Modulen bzw. SUBs umschalten
http://www.antonis.de/faq/QBMonFAQ-Dateien/117025241.html
Jedes weitere Modul kann 64KB für den Code nutzen. Allerdings musst du dann Prozeduren auslagern und vom Hauptmodul aus aufrufen. Um dir sicher zu helfen, müssten wir einen Blick auf dein Programm werfen. |
|
Nach oben |
|
|
Geladin
Anmeldungsdatum: 23.05.2019 Beiträge: 12
|
Verfasst am: 02.06.2019, 18:34 Titel: |
|
|
Also im Grunde kürze ich den Code jetzt auf's kürzeste... Aber so habe ich das programmiert....
Code: |
DECLARE SUB Intro ()
DECLARE SUB Menu ()
DECLARE SUB Newgame ()
DECLARE SUB Hilfe ()
DECLARE SUB Mazes ()
... Einige weitere Subs (Berechnungen, Sprites zeichnen)
DIM SHARED Spielername AS String
DIM SHARED Punkte AS Integer
... und noch 3-4 weitere geteilte Variablen
'Kleiner Kommentar am Anfang des Codes
Intro
Menu
END
SUB Intro
'hier stehen ca. 10kB Code
END SUB
SUB Menu
'bissl Code
CALL Newgame
oder CALL Hilfe
etc
END
END SUB
|
Alles zusammen ist 82kb groß,
davon 10kB Intro
Sub Mazes (wird von Newgame aufgerufen) ist 27kB groß
alle anderen Subs sind zwischen 1 und 12kB groß[/code] |
|
Nach oben |
|
|
RockTheSchock
Anmeldungsdatum: 04.04.2007 Beiträge: 138
|
Verfasst am: 03.06.2019, 00:14 Titel: |
|
|
Mache als erstes eine Sicherung deines Programms!!!!!!
Probiere es doch einfach mal aus. Erstelle ein zusätliches Modul
Datei -> Datei erstellen
F2 -> mit Pfeiltasten die SUB markieren die du verschieben willst -> mit tabs auf bewegen oder ALT + B drücken -> anderes Modul auswählen
Dann befindet sich diese SUB im anderen Modul
Danach gleich mal testen ob das Programm noch läuft mit F5
Probleme kann es z.B. mit den Dim Shared Variablen. SUBs / FUNCTIONs können nämlich nur auf DIM SHARED variablen des eigenen Moduls zugreifen.
Um Modulübergreifende Variablen zu definieren musst diese in allen Modulen wo diese Variablen benutzt werden diese mit COMMON SHARED definieren.
Shared Variablen sind generell problematisch da diese theoretisch an unterschiedlichen Orten deines Programms geändert werden können. D.h. um einen Fehler zu finden musst du evtl. das gesamte Programm an verschiedensten Stellen debuggen. Besser ist es Prozeduren also SUBs oder FUNCTIONs mit Parametern zu nutzen.
Beispiel kommt noch...
Übrigens kann man die BAS dateien auch mit speichern unter im Text format speichern, sodass man diese dann z.b. mit Notepad++ oder anderen editoren geöffnet werden können. So kann man auch versuchen das Programm nach FB zu migireren. |
|
Nach oben |
|
|
|