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:

Ne Weile Programmiert und nun läuft nichts mehr...

 
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
Andre



Anmeldungsdatum: 06.09.2006
Beiträge: 47

BeitragVerfasst am: 09.09.2006, 17:31    Titel: Ne Weile Programmiert und nun läuft nichts mehr... Antworten mit Zitat

Also ich habe eine ganze weile an ein Programm geschrieben. Nun läuft das Programm nicht mehr, sogar an stellen die schonmal gelaufen sind. Nun kommt sogar noch eine blöde Fehlermeldung (AUßerhalb des Indexes o.s.ä.).

Kann es sein das mein Programm zu Groß geworden ist oder das mein Rechner Probleme mit der Verarbeitung aller Variablen (ca. 80-90 variablen) hat?

Ich habe im Forum nur anlesen können, das man die Programme irgendwie vergrößern kann???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 09.09.2006, 19:48    Titel: Antworten mit Zitat

Start qbasic mal mit dem Parameter "/AH"....

Beispiel: qbasic.exe /AH
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 09.09.2006, 20:22    Titel: Antworten mit Zitat

was macht /AH?
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 09.09.2006, 20:46    Titel: Antworten mit Zitat

Das gibt dir extrem viel Speicher für deine Variablen usw. grinsen
Funktioniert aber nur bei QuickBasic...
Aber ich glaube nicht, dass QBasic mit 80-90 Variablen überfordert ist, wenn sie nicht gerade 1000 Zeichen lang sind lachen

Ich denke eher, dass dein Code von vorne bis hinten nicht mehr OK ist*...
Das passiert mir auch gelegentlich... zwinkern
Ich würde den Code an deiner Stelle so lang (und oft) durchkämmen, bis du einen (oder mehrere) Fehler findest. durchgeknallt
Dabei können gelegentliche Pausen, auch etwas länger, sehr zum Erfolg beitragen lächeln

Du kannst natürlich alles nochmal neu schreiben, was auch sehr viel nützen kann, da du dann mit einem klaren Kopf an die Sache gehst, und somit
wahrscheinlich keinen Quick&Dirty Code verursachen kannst... lächeln

*Würde wahrscheinlich daran liegen, dass du zu lange programmiert hast, und somit kaum noch konzentriert warst.



Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 09.09.2006, 21:03    Titel: Antworten mit Zitat

wenn man keine ahnung hat.... durchgeknallt


AH lässt datenfelder dynmaisch werden, wodurch sie auch größer als 64k werden können, was sosnt nicht möglich ist. strings dürfen aber nach wie vor nur 32k haben.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 09.09.2006, 21:07    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
wenn man keine ahnung hat.... durchgeknallt


AH lässt datenfelder dynmaisch werden, wodurch sie auch größer als 64k werden können, was sosnt nicht möglich ist. strings dürfen aber nach wie vor nur 32k haben.

Das ist doch so ziemlich das gleiche... neutral


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 09.09.2006, 21:10    Titel: Antworten mit Zitat

datenfelder sind für dich variablend? durchgeknallt


back2topic:

qbasic ist von 90 variablen nicht überfordert....
aber wenn dein programm "AUßerhalb des Indexes" meldet, dann ist folgendes passiert:

Code:


dim datenfeld (1 to 20, 2 to 40) 'datenfeld mit 2 dimensionen

datenfeld (40,20) = 1



sieht du den fehler? du schreibst auf das feld 40,20, wobei das datenfeld nur 20x40 groß ist, und nicht 40x20!
der fehler, den qb nun ausspuckt, heißt "außerhalb des indexes".
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
pinkpanther



Anmeldungsdatum: 28.05.2005
Beiträge: 79
Wohnort: Wien

BeitragVerfasst am: 10.09.2006, 11:55    Titel: Antworten mit Zitat

Elvis schrieb:
Zitat:
Das [der Befehlszeilen-Parameter /AH] gibt dir extrem viel Speicher für deine Variablen usw. ...

Falsch... der Parameter /AH wirkt sich nur auf die Maximalgröße bestimmter dynamischer Datenfelder aus.

Jojo schrieb:
Zitat:
AH lässt datenfelder dynmaisch werden, ...

Falsch - das bewirkt der Meta-Befehl $DYNAMIC.
Die Verwendung des Parameters /AH schließt die Dimensionierung statischer Datenfelder nicht aus.

Verwirrt's doch bitte nicht die Anfänger traurig ... verweist sie in solchen Fällen einfach auf die sehr gute QB-Hilfe:

Zitat:
/AH Ermöglicht es dynamischen Feldern, die Datensätze, Zeichenketten fester Länge oder numerischen Daten enthalten, jeweils größer als 64K zu sein.

_________________
lG
pinkpanther lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 10.09.2006, 13:49    Titel: Antworten mit Zitat

alfonsospringer hat Folgendes geschrieben:
was macht /AH?

Fachlich korrekte Antwort: Es aktiviert das sog. Large Memory Model (spezielles Speicherverwaltungsmodell bei der Intel 8088/8086-Prozessorarchitektur).

Siehe dazu auch

http://de.wikipedia.org/wiki/Segmentierung_%28Speicherverwaltung%29#Intels_x86er_im_Real-Mode

Praktische Auswirkung für den QB45-Programmierer: Es können Felder grösser 64 KB (=über mehrere Segmente erstreckend) dimensioniert werden. Der Preis (heute im Zeitalter der GHz-Taktfrequenzen und grossen RAM-Speicherriegel eher hintergründig): Variablenzugriff ist etwas langsamer als beim Tiny-Speichermodell (alles in einem Segment) und es braucht noch ein paar Bytes mehr für die Speicherverwaltung.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Andre



Anmeldungsdatum: 06.09.2006
Beiträge: 47

BeitragVerfasst am: 10.09.2006, 16:03    Titel: Antworten mit Zitat

Also, habe das gleiche Programm auf FB programmiert und da läuft es einwandfrei grinsen

Jetzt ist mein Prozessor auch nicht mehr dauernd von QB zu 100% ausgelastet, jetzt kann ich wieder musik hören und habe auch keine Probleme mehr mit großen zahlen...

Aber trotzdem Danke für die Antworten lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 10.09.2006, 17:05    Titel: Antworten mit Zitat

Andre hat Folgendes geschrieben:
Also, habe das gleiche Programm auf FB programmiert und da läuft es einwandfrei

Dafür gibt es demfall eine einfache Erklärung: FreeBasic läuft als waschechter 32-Bitter mit linearer Adressierung, d.h. die komplizierte Segment/Offset-Speicherverwaltung entfällt dort komplett und Du musst dort daher auf keinerlei 64 KB-Grenzen mehr Rücksicht nehmen.

Siehe sonst

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BASICunterWindows95_98_NT.html

d.h. unter QB ist man selbst bei Einbau von 1 GB RAM im PC immer noch der 640 KB-Grenze unterstellt.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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