| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| Geladin 
 
 
 Anmeldungsdatum: 23.05.2019
 Beiträge: 12
 
 
 | 
			
				|  Verfasst am: 31.05.2019, 09: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, 20: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, 17: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: 02.06.2019, 23: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 |  | 
	
		|  | 
	
		|  |