Seltsame Fehlermeldung, bitte helft mir!
Übersicht

GermannXBetreff: Seltsame Fehlermeldung, bitte helft mir! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo alle zusammen.
Da programmiere ich gemütlich vor mich hin (brauche das für die Schule) und dann passiert was sehr seltsames: Es funktionierte bisher alles, aber nachdem ich weiter am Code gearbeitet hatte kommt jetzt ein völlig unlogischer Fehler und ich weiss wirklich nicht was das soll. Der Editor (ich benutze den Ideal-Editor mit standard B3D-Compiler Version 1.98) springt in eine Zeite, die 100%ig fehlerfrei ist (eine ganz simple If-abfrage, wenn, müsste es da doch zur Laufzeit abstürtzen und ja, die Variable ist deklariert und definiert). Dann kommt als Fehlermeldung: Blitz 3D Compiling Error Expecting expression File:(hier steht der korrekte Pfad) Line: 18271, Column: 1118 Das Komische dabei: Die If-Abfrage ist selbstverständlich keine 1118 Zeichen vom Rand entfernt! Die Zeile ist lediglich 25 Zeichen lang. Wie kann das sein und was kann ich tun? Ich kenne mich mit B3D nicht großartig aus, aber es wäre mir wirklich wichtig und es wäre sehr nett wenn mir jemand helfen könnte. Danke im Voraus GermannX |
||
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg! |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schreib mal bitte die ganze Zeile und die darüber und darunter. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
GermannX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aus dem Code:
Color 127,0,0 Rect (BauerX(I)+X_M),((BauerY(I)+Y_M)-32),15,3 Color 0,255,0 Rect (BauerX(I)+X_M),((BauerY(I)+Y_M)-32),(Bauer(I)/(BauerMax/15)),3 Color 255,255,255 If Bauer(I)>0 Then If BauerBefehl(I)=2 Or (BauerBefehl(I)=3 And BauerErreicht(I)=0) Then If BauerRichtung(I)=Unten Then If Animationsstufe=0 Then DrawImageBauer1_Ukron_UntenSelect,(X_M+BauerX(I)),(Y_M+BauerY(I)-25) ElseIf Animationsstufe=1 Then DrawImage Bauer1_Ukron_UntenSelect_a ,(X_M+BauerX(I)),(Y_M+BauerY(I)-25) ElseIf Animationsstufe=2 Then DrawImage Bauer1_Ukron_UntenSelect_b ,(X_M+BauerX(I)),(Y_M+BauerY(I)-25) ElseIf Animationsstufe=3 Then DrawImage Bauer1_Ukron_UntenSelect_b ,(X_M+BauerX(I)),(Y_M+BauerY(I)-25) EndIf ElseIf BauerRichtung(I)=Untenlinks Then ------------- usw. usf. Dabei geht es darum, Einheiten (in dem Fall Bauern) zu zeichnen, da ich an einem Echtzeitstrategiespiel als Schulprojekt arbeite. Am anfang wird mit den Rects die Lebensenergie gezeichnet, dann wird der Befehl des Bauern überprüft (soll er laufen oder steht er still?) und dann wird die Richtung abgefragt, in die er schaut. Daraufhin wird das entsprechende Bild der entsprechenden Animationsstufe gezeichnet. Die fett geschriebene Zeile ist die, die in der Fehlermeldung angegeben wird. Ich hoffe das war soweit hilfreich. MfG GermannX |
||
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg! |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schreib die Zeile mal ganz neu. Also löschen und neu schreiben. Das Problem hatte ich auch schon mal. Bei mir sind da irgendwie unsichtbare Zeichen hingekommen. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur mal so:
Ich würde dir Types empfehlen. Damit kannst du ohne Pobleme 100 Bauern "Leben" lassen, und verbrauchst erstens viel weniger Code und zweitens ist es viel übersichtlicher. Wenn ich sowas sehe ("BauerX(I)", "BauerBefehl(I)") wird mir schwindelig ^^ Mir wird natürlich nicht schwindelig, aber das hört sich so krass an ![]() Wenn du Types aber nicht beherrschst (und dir auch keine Arbeit machen willst sie zu erlernen), könntest du mit einem 2Dimensionalen Array arbeiten. Dann wäre die erste "Dimension" die Nummer des Bauern und in der zweiten "Dimension" könntest du alle Sachen speichern. z.B. Bauer(i,1) könnte die X Position von Bauer i sein Bauer(i,2) könnte die Y Position von Bauer i sein Bauer(i,3) könnte der Befehl von Bauer i sein Bauer(8,1) könnte die X Position von Bauer 8 sein Bauer(8,2) könnte die Y Position von Bauer 8 sein Bauer(8,3) könnte der Befehl von Bauer 8 sein usw usw.... usw usw.... Ich hoffe du hast mich verstanden ![]() ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
GermannX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke, aber das hilft leider nicht (ich habe sogar schon ca. 40 Zeilen rund rum neu geschrieben bzw. von einer anderen Stelle im Code kopiert, die vorher kommt und bei der es auch problemlos geht). Jetzt auch extra nochmal manuell geschrieben, aber das bringt leider nichts. Wenn ich die entsprechende Stelle herausnehme, will er den Fehler an anderer Stelle finden. Ich bin wirklich ratlos ![]() Trotzdem danke für deine Hilfe. MfG GermannX |
||
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg! |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moment. Wie groß ist deine Datei?
Der Compiler schafft doch nur bis zu einer Dateigröße von 1MB, oder Irre ich mich da? und wenn du über 10000 Zeilen hast wäre das theoretisch möglich, dass du diese Granze überschritten hast ![]() Eine Lösung wäre INCLUDE zu benutzen ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
GermannX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Tankbuster:
Danke, da hast du natürlich grundsätzlich Recht (wärend dem Schreiben habe ich auch einiges neues erfahren, dass ich, so wie deinen Hinweis, lieber schon früher hätte wissen sollen). Allerdings wirst du verstehen, dass ich jetzt nach insgesammt über 80k Zeilen Code in die ich viel zeit investiert habe meine Bereitschaft, alles nochmal neu zu schreiben sehr gering ist. Es ist ja auch nicht so, dass es nur Bauern gäbe, sondern da sind noch über 40 andere Einheiten (soll recht umfangreich werden). Auch würde die Zeit nichtmehr ausreichen, um alles neu zu machen. Trotzdem danke für den guten Tip ![]() MfG GermannX |
||
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg! |
GermannX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ach nd Tankbuster, diese Grenze gilt soweit ich weiss nur, wenn man den Standard-Editor benutzt, weshalb ich auch den Idealeditor nutze (wurde mir genau aus diesem Grund hier im Forum empfohlen). Der Code ist schon lange größer als ein MB (mittlerweile sogar größer als 4 MB) ![]() Wie gesagt steckt da viel Arbeit drin (wäre sicher nur die Hälfte, wenn ich mich besser auskennen würde, aber ich bin nunmal nicht so fit mit B3D). |
||
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg! |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Allerdings wirst du verstehen, dass ich jetzt nach insgesammt über 80k Zeilen Code in die ich viel zeit investiert habe meine Bereitschaft, alles nochmal neu zu schreiben sehr gering ist
![]() Ok das kann ich natürlich verstehen, aber ehm hast du meinen neuen Post durchgelesen? Wiegroß ist die Datei? Wie gesagt: Blitz schafft nicht mehr als 1MB ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
GermannX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, habe ich gelesen und wie ich bereits schrieb, ist das nur so, wenn man den standard Editor verwendet. Da ich aber Ideal nutze, hatte ich mit sowas nie Probleme (wie gesagt bin ich bei mittlerweile über 4 MB und das war nie ein Problem, auch nicht als der Code 2 und 3 MB groß war). Ansonsten werde ich aber mal schaun, dass ich trotzdem Include verwenden werde (mal nachschauen wie das geht^^).
Danke für die Hilfe, wirklich klasse hier im Forum ![]() MfG GermannX |
||
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg! |
GermannX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, dank deinem Tip mit der Aufteilung habe ich den Fehler gefunden!
Ich hatte (an einer einige Tausend Zeilen entfernten Stelle) nach einem "And" in einer If-Abfrage die Bedingung vergessen. Jetzt wundert es mich nur, warum er mir dann nicht den entsprechenden Fehler meldete, sondern so einen Käse ![]() Danke für eure Unterstützung! MfG GermannX |
||
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg! |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
omg... Dürfte ich im nachhinein noch fragen: Willst du nicht ein bisschen schauen, dass du den code stauchst? Und wie lange dauert das jedesmal zu kompilieren?
mfG, Christoph. |
||
GermannX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Eingebroggt:
Mit meinen Kenntnissen (die nunmal nicht gerade umfangreich sind) lässt sich der Code nicht großartig stauchen (auch wenn ich mir sicher bin, dass es da Wege gäbe). Zum Kompilieren braucht´s bei meinem Laptop (1 GB RAM, Turion TL50 Prozessor mit 1,61 Ghz) ca. 25 Sekunden, geht also (manchmal auch 30 Sek. ,je nach dem wie ausgelastet der Laptop ist). MfG GermannX |
||
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg! |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
GermannX:
Bitte demnächst keine Doppelposts mache (also zwei Beiträge hintereinander in einen Thread schreiben), sondern den Edit-Button benutzen, danke! |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
IDEal macht manchmal solche komische Sachen, z.B. sagt er Expecting end of File und markiert eine Zeile, die nur aus einem Kommentar oder aus gar nix besteht.
Das ist teilweise sehr ärgerlich, hat man nicht mehrere Dateien kann mans sonst im normalen BB-Editor probieren. Dort gibts dann ne korrekte Ausgabe. mfG |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
GermannX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@D2006:
Jawoll, werde ich machen (tut mir leid dass ich das übersehen habe, wird nicht wieder vorkommen). @Peacemaker1: Ok, danke, das wusste ich nicht. Jetzt erklärt sich so einiges^^. MfG GermannX |
||
...und der Tod warf seine Sense weg und stieg auf den Mähdrescher, denn es war Krieg! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group