EndIf without If - wie Fehler suchen?
Übersicht

![]() |
HubsiBetreff: EndIf without If - wie Fehler suchen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nabend beisammen.
Ich stehe gerade vor dem Problem das ich den Fehler "Endif without If" bekomme, mein so ziemlich allerliebster Fehler, gleich nach Next without For ![]() ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Elseif ohne Bedingung drin? | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
vom Debuger markierte Zeile nehmen und das dort vorkommende scopebegrenzende Schlüsselwort als Randpunkt für die Suche nehmen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe schon mal die Erfahrung gemacht, daß BlitzBasic nicht nur wenn ein "If Then Konstrukt" nicht richtig ist diese Fehlermeldung ausgibt. Die Ursache kann auch was ganz Anderes sein, aber es ist dann meist ein Syntax Fehler. Kann auch mit Types zu tun haben. Vielleicht eine Reihenfolge Problem.
Zur Not gehe deinen kompletten Kod durch und achte auf alle Syntax Probleme. Entferne kurzfristig Programmteile um diese ausschließen zu können. |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
wieviele Zeilen umfasst denn der Code? Kannst du ihn hier reinstellen?
Es muss tatsächlich nicht unbedingt an einem IF liegen. Auch andere Strukturen, die ein Schleifenende benötigen können im ungünstigen Fall zu einer solchen Meldung führen (Repeat, Select, Function, ...etc Möglicherweise ist aber auch eine IF-Abfrage, die gar kein Endif benötigt hätte: BlitzBasic: [AUSKLAPPEN] If A=3 Then B=4 sowas ist mir schon passiert! Der Tipp hierzu: 1. Gliedere zunächst alle Funktionen in ein zweites Script aus und include das in das Original-Script. Mit etwas Glück tritt der FEhler dann im einen oder anderen Dokument auf. 2. Mache auch einzeiligen IFs jetzt richtige Dreizeiler mit eigener ENDIF 3. Prüfe alle SELECT und REPEAT und FUNCTION-Strukturen. Mir auch schon passiert: Als Abschluss eines SELECT habe ich ENDIF geschrieben. 4. Nutze die Gelegenheit und strukturiere den Code neu: Alle IF/ENDIF-Strukturen, bei denen das IF mehr als eine Bildschirmseite vom ENDIF entfernt liegt sind zu lang und sollten in Funktionen ausgegliedert werden. Bedenke dabei aber die Variablen, die dann ein GLOBAL benötigen oder in die Funktion übergeben werden müssen. Und noch eine ganz schlichte Idee zum Schluss: Vielleicht ist es ja wirklich "zuviel", dieses eine ENDIF? |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank erstmal. Der Tip von Omenaton_2, wie auch Midimaster in Punkt 1. schrieb hat geholfen, wenn auch nicht so wie ich erwartete. Ich habe einen Teil an dem ich eine Änderung vornahm ausgelagert in eine eigene Datei und geprüft -> kein Fehler. Probehalber dann nochmal den Originalcode ohne den betreffenden Teil gecheckt -> keine Fehler ![]() Edit: @Midimaster: Der Code umfasst rund 2000 Zeilen, ist etwas viel das hier alles reinzuquetschen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei 2000 Zeilen wäre aber schon eine Unterteilung in mehrere *.BB-Dateien nötig, oder?
Ich finde, 500 Zeilen sind vernünftig, bei 1000 Zeilen ist die Schmerzgrenze erreicht. Gerade Funktionen, die bereits 100% laufen, müssen nicht im akt. Code verbleiben. Ich arbeite aber auch mit BMAX, wo sich das alleine schon wegen der Option Quickbuild lohnt. Aber unter BB ist das glaube ich etwas "sonderbar" mit den Geltungsbreichen von Variablen, wenn der Code auf meherere Scripte verteilt ist, oder? |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich meinte den Code mitsamt der Includes ![]() ![]() ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group