Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
wolfjuli
Anmeldungsdatum: 06.03.2008 Beiträge: 50
|
Verfasst am: 06.03.2008, 20:53 Titel: Probleme beim Compilieren |
|
|
Ich habe mich 6 Stunden lang hingesetzt um ein Programm zu schreiben, das die Lieder eines iPods auf den Computer speichert. Das problem ist, beim Übersetzer läuft es perfekt, aber beim Kompilieren bekomme ich folgenden fehler :
Code: | BC C:\DOKUME~1\ADMINI~1\EIGENE~1\EI6E7E~1\BAS\IPODCOPY.BAS/E/O/AH/T/C:512;
Microsoft (R) QuickBASIC Compiler Version 4.50
Copyright (C) Microsoft Corp. 1982-1989. Alle Rechte vorbehalten.
1802 012A END IF
^ Unterprogrammfehler
2A92 0144 FOR a = ze TO deimama
^ FOR-Schleifen-Indexvariable bereits belegt
42429 Bytes verfügbar
25553 Bytes frei
0 Warnung(en)
2 Schwere(r) Fehler |
Was kann ich tun?
PS: bei der FOR- Schleife hab ich schon versucht, andere Variablennamen zu verwenden - ohne erfolg
THX Im vorraus |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
wolfjuli
Anmeldungsdatum: 06.03.2008 Beiträge: 50
|
Verfasst am: 06.03.2008, 21:41 Titel: |
|
|
sry aber ich kenn mich in FreeBASIC nicht aus, deswegen frag ich schnell mal dumm: Kann der fb:porticular auch mit QuickBASIC 4.5 Dateien was anfangen? Ich könnte dir einfach meine BAS datei schicken, aber das Problem wird sien, dass du dich midnestens eine Stunde lang reindenken musst, weil ich leider vergessen habe Kommentare zu schreiben .
Ich hätte mir eerhofft du könntest mir einfach sagen, warum solche Kompilerfehler auftreten, obwohl man das Programm unter QuickBASIC 4.5 NORMAL usen kann.
zur FOR- Schleife:
Eine ähnliche schleife wird weiter oben in der SUB mit den selben variablen ausgeführt. Zuerst hatte ich bei beiden die Berchnung "for a = ze to ze + maxl + 2" drinnen. Da er mir da quittiert hat, habe ich versucht, diese berechnung in zwei Variablen auszulagern, mit verschiedenen Namen (da er ja schreibt "FOR-Schleifen-Indexvariable bereits belegt"). Resultat war aber das selbe. Komisch ist aberm, dass er immer bei der 2. Schleife meckert, bei der 1. aber keine Porbleme hat
zu END IF:
Ich hab nicht den blassesten Dau, was der eigentlich von mir will. Ich habe mein gesamtes Programm mit allen Subroutinen durchstöbert und fand keinen einzigen DO-, FOR-, oder IF-Fehler (Zumal mir das der Übersetzer das so wie so gesagt hätte)
Kurz: mich kann man bald in die Klappse bringen , weil ich bisher jeden Fehler immer selbst gefunden habe. Aber nach einer Stunde korrektur ohne erfolg hab selbst ich keinen Bock mehr auf den Shit.
THX Julian _________________ Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 06.03.2008, 21:54 Titel: |
|
|
Hallo!
wolfjuli hat Folgendes geschrieben: | sry aber ich kenn mich in FreeBASIC nicht aus, deswegen frag ich schnell mal dumm: Kann der fb:porticular auch mit QuickBASIC 4.5 Dateien was anfangen? |
Ja, du kannst da ohne Weiteres auch QB-Quelltexte hochladen, wenn du sie als Quelltext und nicht im QB 4.5 Binärformat speicherst:
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Heizi
Anmeldungsdatum: 19.01.2005 Beiträge: 309
|
Verfasst am: 07.03.2008, 12:45 Titel: |
|
|
Dasselbe Problem hatte ich auch schon mal. Programm wurde korrekt interpretiert aber nicht kompiliert. Das kompilieren mit
Visual Basic für Dos hatt dann geklappt. Kannst ja auch mal QB7.1 ausprobieren.
MfG |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 07.03.2008, 16:28 Titel: |
|
|
Kleine Frage, wie groß ist der Quellcode (in ASCII-Form)? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
Heizi
Anmeldungsdatum: 19.01.2005 Beiträge: 309
|
Verfasst am: 07.03.2008, 21:19 Titel: |
|
|
Da fällt mir ein:
Wieviel Platz ist eigentlich noch auf deiner Festplatte frei????
Zitat: |
42429 Bytes verfügbar
25553 Bytes frei
|
MfG |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 07.03.2008, 22:01 Titel: |
|
|
Das ist der konventionelle RAM... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
wolfjuli
Anmeldungsdatum: 06.03.2008 Beiträge: 50
|
Verfasst am: 09.03.2008, 22:05 Titel: |
|
|
@Heizi:
vielen Dank für deinen Tipp mit QuickBASIC 7.1. Jetzt hats funktioniert. Falls ich was für dich tun kann, lass es mich wissen! _________________ Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher. |
|
Nach oben |
|
|
Heizi
Anmeldungsdatum: 19.01.2005 Beiträge: 309
|
Verfasst am: 10.03.2008, 12:33 Titel: |
|
|
np^^
ich fördere doch gerne vielversprechende Talente
MfG |
|
Nach oben |
|
|
wolfjuli
Anmeldungsdatum: 06.03.2008 Beiträge: 50
|
Verfasst am: 10.03.2008, 20:27 Titel: |
|
|
Scheise, ich idiot war so froh, dass ich gar nicht überprüft habe, ob das prog überhaupt läuft. Leider kennt QuickBASIC 7.1 igendwie den "SHELL"- Befehl nicht, und schmiert ab (bzw. Bricht ab). was nun?
LG Julian
PS: Ich habs geschafft, den FOR- Schleifen Befehl zu korrigieren. Irgendwie kommt zwar quickBASIC 7.1 mit dem END IF Fehler zurecht, QuickBASIC 4.5 aber nicht. Besser wäre die Frage, wie ich herausfinde, welche Zeile diese Zeile ist, in der der END IF Befehl steht:
Code: | BC C:\DOKUME~1\ADMINI~1\EIGENE~1\EI6E7E~1\BAS\IPODCOPY.BAT/E/O/T/C:512;
Microsoft (R) QuickBASIC Compiler Version 4.50
Copyright (C) Microsoft Corp. 1982-1989. Alle Rechte vorbehalten.
3D3E 012E END IF
^ Unterprogrammfehler
|
(Sry die Anmerkung aber das ist wieder einmal Typisch für Microsoft, die wieder einmal überhaupt nicht mit Liebe zum Detail programierten, bin aber trotzdem erklärter Windows User und mag Apple nicht so ganz ) _________________ Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher.
Zuletzt bearbeitet von wolfjuli am 10.03.2008, 20:41, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 10.03.2008, 20:36 Titel: |
|
|
Gibt ja auch noch Linux oder die hundert anderen kleineren OSe. _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 10.03.2008, 20:42 Titel: |
|
|
Natürlich kennt PDS den SHELL-Befehl... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
wolfjuli
Anmeldungsdatum: 06.03.2008 Beiträge: 50
|
Verfasst am: 10.03.2008, 21:08 Titel: |
|
|
Ok danke leute, ich hab ihn selbst gefunden:
Schreibt niemals bei QuickBASIC 4.5 eine ON ERROR Klausel innerhalb eine IF Klausel, das mag der Kompiler nicht so ganz!
Und der FOR- Schleifen- Befehl wurde hervorgerufen, weil ich eine
"FOR a = " schleife in einer selbigen hatte. (So wurde ich auh fündig, wo sich der END IF Befehl befand, einfach immer
Code: | FOR g = 1 to 2
FOR g = 1 to 2
next g
next g |
eingeschrieben und versucht zu kompilieren. Somit konnte ich mich zu der Zeile "vorwärtstasten"
Aber nochmal vielen dank an alle von euch, die mir geschrieben haben.
LG Julian _________________ Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher. |
|
Nach oben |
|
|
wolfjuli
Anmeldungsdatum: 06.03.2008 Beiträge: 50
|
Verfasst am: 10.03.2008, 21:55 Titel: |
|
|
Jetzt hab ich aber eine neue Frage:
Wie ist es möglich das QuickBASIC 4.5 Normal ohne Fehler Kompiliert, aber das Programm dann nicht richtig ausgeführt wird. Wie gesagt, im Übersetzer funktionierts, nach der KOmpilierung nicht mehr.
??? Mir is zum und gleichzeitig zuck ich auch voll aus.
THX im Vorraus
Julian _________________ Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher. |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 10.03.2008, 21:56 Titel: |
|
|
Der Compiler hat einige Bugs. So einfach ist das. Außerdem kann er große Sourcecodes nicht kompilieren (ab 64kB). _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
wolfjuli
Anmeldungsdatum: 06.03.2008 Beiträge: 50
|
Verfasst am: 12.03.2008, 12:35 Titel: |
|
|
@Sebastian:
Was soll es bringen, wenn ich den Quellcode rauflade, wenn er sowie so funktioniert? Mein Problem ist, dass das Prog im Übersetzer makellos funktioniert (Mit Mausunterstützung). Es hat eine Durchsuchenfunktion, die alle Unterordner im momentanen Pfad auflistet. Diese Auflistung ist auch wieder mit Maus auswählbar. Wenn ich das Prog jetzt mit QuickBASIC 7.1 kompiliere bekomme ich beim klicken auf den "Durchsuchen"-Button eine Fehlermeldung von NTVDM.exe, dass ein Fehler vorliegt, und das Programm wird beendet. Wenn ich es mit QuickBASIC 4.5 kompiliere, kann ich zwar den Button anklicken und die Ordner werden angezeigt, aber das auswählen läuft überhaupt nicht. Anstatt nur einen Ordner auszuwählen, wechselt er in den Erst-Besten und danach in all seine Unterordner, bis er ansteht, wechselt dann wieder retour, wieder in einen anderen ... Diesen Vorgang kann man auch nur abbrechen, wenn man die ESC-Taste förmlich spamt, sodass er aus der SUB-Routine springt, und das Programm beendet (Beidemale so Programmiert, dass mit ESC Abgebrochen oder beendet werden kann.)
Kurz: Im Übersetzer läufts, nach der Kompilierung gar nicht mehr. _________________ Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher. |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 12.03.2008, 13:31 Titel: |
|
|
wolfjuli hat Folgendes geschrieben: | Was soll es bringen, wenn ich den Quellcode rauflade, wenn er sowie so funktioniert? |
weil wir dann z.B. sehen können, wo der compiler sich verschluckt und dann wüssten wir z.B. auch sofort, ob er zu groß ist... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
wolfjuli
Anmeldungsdatum: 06.03.2008 Beiträge: 50
|
Verfasst am: 12.03.2008, 16:22 Titel: |
|
|
Jojo hat Folgendes geschrieben: | weil wir dann z.B. sehen können, wo der compiler sich verschluckt und dann wüssten wir z.B. auch sofort, ob er zu groß ist... |
Wie willst du das sehen? Wenn mein Programm eine reihe von Befehlen falsch ausführt, obwohl es im Übersetzer richtig läuft, und es sich auch noch kompilieren lässt, dann werden wir wahrscheinlich pech haben. Es tut mir leid wenn ich dir imme wiederspreche, aber ich habe leider den Tick, dass ich nur sehr ungern bis gar nicht meine Quellcodes herausgebe. Wegen der Größe: In der Ersten Antwort die ich Postete stand wieviel Byte dass Belegt sind, und wieviel frei. Das müsste eigentlich darüber genug sagen. Meine gepseicherte ".bas"-Datei hat 17,7 kb (18.195 Bytes). Also and der Größe kann es nicht liegen. Ist es aber möglich, dass ihn der CALL INTERRUPT Befehl irritiert?
Lg Julian _________________ Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher. |
|
Nach oben |
|
|
|