[Allegro] var vor end unterdrueckt mystische Fehlermeldung

Anando Eger a.eger at aneg-dv.de
Mit Sep 7 14:01:29 CEST 2011


Hallo Herr Eversberg,

> Ja. Wenn jedesmal ein "ins" vorangeht, dann kommt die Meldung
> zustande, weil der iV-Inhalt dann eine Fehlerreaktion hervorrief,
> ...

mmm, interessant. In den konkreten Fällen, die ich hier reproduzieren
konnte, war der per ins übergebene Inhalt immer vorher mit 'var z'
geholt worden. Dadurch dürfte ja eigentlich nichts Falsches
in der iV stehen ...

Die konkrete Befehlsfolge:

...
var $MP_AdrSP\z=\z-1\var z\ins $MP_AdrSP
var $mp_retadr\if "" var "leere Ruecksprungmarke";jump MP_StackAbort
jump
...

Die damit korrespondierende Fehlermeldung nach 'end' lautete dann:
"Ungültige Eingabe: AdrSP". Mit dem Tiefstrich hatte es nichts zu
tun, auch beliebige andere Variablennamen an der Stelle wurden
ab Pos. 4 "verwendet".

Aber wie gesagt: ob eine Fehlermeldung entstand, hing davon ab,
welche Daten sehr weit vorher verarbeitet wurden ... es wurden
dabei auch keine anderen Fehler sichtbar - alles scheinbar korrekt ...

Bei der Gelegenheit (weil ich das auch in Betracht gezogen hatte):
a99 reagiert auf unpaarige Anführungszeichen nicht mit einem Fehler - 
es geht dabei aber intern meistens etwas "kaputt", was dann erst viel 
später zu einem scheinbar unmotivierten Fehler führt - und daher nicht 
immer leicht zu finden ist.
Ließe sich ein solcher Fall (z.B. 'var "abc') nicht mit einer direkten 
Fehlermeldung und Abbruch quittieren?

Viele Grüße
Anando Eger

---------------------------------------------------------------------
Anando Eger Datenverarbeitung
Herr Dipl.-Ing. Anando Eger
Gustav-Voigt-Str. 24
01156 Dresden
Tel.: +49 (0)351 454 1236  http://www.aneg-dv.de
Fax: +49 (0)351 454 1238  mailto:a.eger at aneg-dv.de
---------------------------------------------------------------------






On 6 Sep 2011 at 16:05, Bernhard Eversberg wrote:

> Am 06.09.2011 15:55, schrieb Anando Eger:
> >
> > Und:
> > Der Variablenname, der ab Zeichenposition 4 ($=0) "benutzt"
> > wird, ist stammte in den beobachteten Fällen immer vom letzten
> > 'ins'-Befehl vor dem zuletzt ausgeführten 'jump'.
> > Wird dagegen an gleicher Stelle eine #u-Variable mit ins gefüllt,
> > entsteht die Meldung "Ungültige Eingabe: 0".
> >
> > ...
> >
> > Sind die obigen Beobachtungen evtl. geeignet, die Ursache
> > näher einzugrenzen?
> >
> Ja. Wenn jedesmal ein "ins" vorangeht, dann kommt die Meldung
> zustande, weil der iV-Inhalt dann eine Fehlerreaktion hervorrief,
> die aber an der Stelle nicht aufscheint, sondern in der Variablen
> Aerror hinterlegt wird. Diese wird am Ende des FLEXes noch
> angezeigt.
> Wir können es einrichten, daß der Befehl "end" die Variable
> Aerror löscht, dann tritt die Meldung nicht mehr auf.
> 
> B.E.
> 
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro