Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Probleme beim Kompilieren (Speicher reicht nicht)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Geladin



Anmeldungsdatum: 23.05.2019
Beiträge: 12

BeitragVerfasst am: 31.05.2019, 09:54    Titel: Probleme beim Kompilieren (Speicher reicht nicht) Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
RockTheSchock



Anmeldungsdatum: 04.04.2007
Beiträge: 138

BeitragVerfasst am: 31.05.2019, 20:17    Titel: Module benutzen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Geladin



Anmeldungsdatum: 23.05.2019
Beiträge: 12

BeitragVerfasst am: 02.06.2019, 17:34    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
RockTheSchock



Anmeldungsdatum: 04.04.2007
Beiträge: 138

BeitragVerfasst am: 02.06.2019, 23:14    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz