Paradox: UBasic-Fehlermeldung unter LUA

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Paradox: UBasic-Fehlermeldung unter LUA

Beitragvon Sinter » 12.04.2010, 10:19

Hallo,

nachdem ich die Problematik letztens kurz in einem anderen Zusammenhang nur nebenbei erwähnt hatte, hier nun etwas ausführlicher:

Der paradoxe Fall folgender UBasic-Fehlermeldung bei einem LUA-Skript:

"uBASIC:1 Unk stat"

Ich vermute den Fehler zwar nicht unbedingt bei CHDK, aber vielleicht ist der Sachverhalt dennoch interessant.

Der Fehler taucht bei mir manchmal auf, wenn ich ein Skript mittels Notepad++ portable auf die Festplatte abspeichere und danach auf die SD-Karte kopiere und dann in der Kamera starte.

Ohne etwas im Code verändert zu haben kann man jedoch das Skript von der Festplatte in einen normalen Editor laden, dort den Code mittels Copy-and-Paste in ein neues Dokument kopieren, abspeichern, wieder auf SD-Karte kopieren, und die ominöse UBasic-Fehlermeldung taucht dann (bei diesem neuen Skript-File) nicht mehr auf.

Hier zum Download ein Vergleich mit einem Skript, welches in Zeile 146 zwar noch einen Syntax-Fehler enthält (irrtümlich nur ein statt 2 Gleichheitszeichen) , aber dennoch als Beispiel dienen kann:

Die Skriptvariante "A_0971_cap.lua" wurde mittels copy and paste erstellt und macht zur Zeile 146 eine völlig korrekte Fehlermeldung, während das andere ursprüngliche Skript ( A_0971_LowLight.lua ) bereits in Zeile 1 mit der ominösen UBasic-Fehlermeldung aussteigt. Seltsam.

Hat jemand eine Idee, wie sich hier eine UBasic-Fehlermeldung einschleichen kann?

Viele Grüße,
Sinter
Dateianhänge
A_0971_LowLight.lua
Version mit der ominösen UBasic-Fehlermeldung für Zeile 1
(16.06 KiB) 282-mal heruntergeladen
A_0971_cap.lua
Version in welcher korrekterweise nur der noch vorhandene Syntax-Fehler gemeldet wird. (Zeile 146)
(16.06 KiB) 289-mal heruntergeladen
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

Beitragvon msl » 12.04.2010, 11:01

Hallo Sinter,

ich habe die beiden Dateien heruntergeladen und getestet. Beide laufen bis zur Fehlermeldung in Zeile 146. Ein Vergleich der Dateien sagt, dass sie binär identisch sind.

uBasic-Skripte werden auch erkannt, wenn man die Endung .txt verwendet. Erkennt der uBasic-Interpreter in Zeile 1 ein nicht konformes uBasic-Kommando, kommt es zu der Fehlermeldung.

Jetzt gibt es 2 Möglichkeiten: Entweder wird bei deinen Datei-Operationen mit dem Editor die Skript-Datei so verändert, dass CHDK sie nur noch als Text-Datei erkennen kann. Oder CHDK macht wirklich einen Fehler bei der Ixus60. Das glaube ich aber weniger, weil es hauptsächlich Core-Funktionen sind, die dann auch andere VxWorks-Kameras beim Lesen von Dateien betreffen müssten.

Überprüfe doch mal die Einstellungen in Notepad++. Verwendest Du als Format ANSI? Wenn das Problem mit deinen lokalen Datei-Operationen zusammenhängt, ist es durchaus möglich, dass man das hier bei den Datei-Anhängen gar nicht mehr erkennen kann.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Ja, mein Notepad++ steht auf ANSI

Beitragvon Sinter » 12.04.2010, 11:28

Hallo msl,

vielen Dank für Deine Rückmeldung.

Ich vermute ebenfalls dass es wohl kaum an CHDK liegen wird.

Ja, mein Notepad++ steht in
settings/preferences/new document
auf
encoding ANSI.

Ist denn ANSI diejenige Einstellung, welche korrekt ist, oder diejenige, die ich vermeiden soll?

Seltsam ist für mich, dass der Fehler nicht ständig auftaucht, sondern nur manchmal. Daher wäre ich froh, wenn ich eine Einstellung hätte, mit der ich auf der sicheren Seite liege. Ich wüsste momentan keinen anderen portablen Lua-Editor, mit dem man auch zwei Files recht schön nebeneinander verglichen bekommt (Plugins/Compare). Diese Funktionalität habe ich inzwischen schätzen gelernt und möchte ich nicht mehr missen.

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

Beitragvon msl » 12.04.2010, 11:42

Hallo Sinter,

ja, ANSI ist für Windows richtig.

Ich arbeite ebenfalls sehr gern mit Notepad++ (Portable). Aber mir sind solche Probleme noch nicht untergekommen. Vielleicht schleicht sich auch an einer anderen Stelle in deinem System ein Fehler ein.

Möglicherweise hilft auch eine Neuinstallation bzw. Erneuerung der Portable-Daten von Notepad++.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Das werde ich probieren

Beitragvon Sinter » 12.04.2010, 12:08

Hallo msl,

vielen Dank für Deinen Hinweis. Bei Gelegenheit werde ich Deinen Tipp beherzigen, Notepad++ neu aufzuspielen.

Solche paradoxen Probleme sind sonst immer ziemlich zeitraubend. Lieber würde ich kreativ weiterarbeiten und mich dem eigentlichen Skripten widmen, statt mit fragwürdigen Schwierigkeiten kämpfen zu müssen.

Aber wer weiß, vielleicht liegt es auch weder an CHDK, noch an Notepad++, sondern irgendwo sonst an meinem System...

Ich bin schon gespannt, ob sich das Problem dann auch nach einer Neuinstallation von Notepad++ zeigen wird.

Viele Grüße,
Sinter
Ixus 60 (SD600) Firmware 1.00a
CHDK-DE aktuelle Version
Benutzeravatar
Sinter
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 416
Bilder: 2
Registriert: 14.08.2009, 13:16
Wohnort: München

Beitragvon gehtnix » 12.04.2010, 22:52

Hi Sinter,

so wie ich das jetzt verstehe , da muss ich doch meinen Hinweis korrigieren.

So einen Fehler wirst Du auf Dauer nur mit reichlichem Salvator-Naschen ertragen können :D

gruss gehtnix Bild
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS


Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 19 Gäste