amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Amiga, AmigaOS 4 > ARexx Fehler [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

19.03.2006, 12:37 Uhr

julius
Posts: 2255
Nutzer
Ich benutze auf allen Amigas das Programm NetClock V1.4 zum stellen der internen Uhr entspreched der Internet Zeit. Seit 1 Woche meldet das Probramm netclock.rexx die Fehler 47 und 12 in bestimmten Zeilen des ARexx-Programms, und zwar nur auf dem A4000T. Das Progamm wird durch MiamiDX gestartet. Miami geht auch online, ich kann mit AWEB surfen. Auch der manuelle Aufruf des Programmsrx netclock.rexx brimgt dieselben Fehlermeldungen.
Gibt es für ARexx-Programme auch einen Befehl ähnlich SET Echo ON, mit dem ich den Programmablauf verfolgen kann und mit Space unterbrechen und Return fortführen kann?
Snoopdos meldet nichts.

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 12:59 Uhr

thomas
Posts: 7717
Nutzer
@julius:

Zitat:
Fehler 47 und 12

Und was bedeuten die ? Warum schreibst du nicht den Fehlertext dazu ? Die Zahlen sagen so ziemlich gar nichts aus.

Und was in den "bestimmten Zeilen" steht, ist auch nicht unwichtig.

Zitat:
Gibt es für ARexx-Programme auch einen Befehl ähnlich SET Echo ON, mit dem ich den Programmablauf verfolgen kann und mit Space unterbrechen und Return fortführen kann?

Trace r ist wie echo on und trace ?r ist EInzelschritt (nach jedem Befehl muß Return gedrückt werden). Du kannst auch global trace ?r einschalten, indem du in der Shell ts eingibst (und mit te wieder ausschalten).

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 13:28 Uhr

julius
Posts: 2255
Nutzer
Hier die Fehler-Details:
+++ Error 47 in line 1225: Arithmetic conversion error
+++ Error 47 in line 625: Arithmetic conversion error
+++ Error 12 in line 1: Error return from function
Command returned 10/12: Error return from function
rx fehlgeschlagen Rückgabewert 10

Erfolgt die Eingabe trace ?r in das ARexx-Programm oder in der Shell?

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 13:32 Uhr

thomas
Posts: 7717
Nutzer
Zitat:
Hier die Fehler-Details:

Dann bräuchten wir noch den Text, der in Zeile 1225 und drumherum steht. DIe anderen beiden Fehler sind nur Folgefehler.

Zitat:
Erfolgt die Eingabe trace ?r in das ARexx-Programm oder in der Shell?

Trace ?r kommt in das Programm. Stattdessen kannst du aber auch in der Shell ts eingeben.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ Dieser Beitrag wurde von thomas am 19.03.2006 um 13:33 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 13:58 Uhr

julius
Posts: 2255
Nutzer
Das Problem ist, dass das ARexx-Programm netclock.rexx sehr viele
Kommentarzeilen enthält, sodass ein Finden der Zeile 1225 im Editor kaum möglich ist.
Ich versuche mich jetzt mit Trace ?r und Retrurn-Taste ran zu tickern.

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 14:15 Uhr

Palgucker
Posts: 1342
Nutzer
@ julius

Zitat:
Das Problem ist, dass das ARexx-Programm netclock.rexx sehr viele
Kommentarzeilen enthält, sodass ein Finden der Zeile 1225 im Editor kaum möglich ist.


Die Kommentarzeilen und sonstiges werden mitgezählt, also ist auch die Zeile gemeint, die ausgegeben wird.

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 14:21 Uhr

julius
Posts: 2255
Nutzer
So, die Zeile 1225 lautet:
IF DATATYPE(TZ.2,'N') & DATATYPE(TZ.2,'N') THEN TZ.9 = TZ.4 - TZ.2
Der Apostroph vor oder hinter N geht im Programm von rechts oben nach links unten.

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 14:38 Uhr

thomas
Posts: 7717
Nutzer

Klarer Fall:

Zitat:
DATATYPE(TZ.2,'N') & DATATYPE(TZ.2,'N')

Eins von den zwei TZ.2 muß TZ.4 lauten.

Die Zeile, so wie sie jetzt ist, prüft, ob TZ.2 numerisch ist und ob TZ.2 numerisch ist und wenn ja, wird TZ.2 von TZ.4 subtrahiert. Es ist klar, daß das so nicht gemeint war, sondern eigentlich soll die Subtraktion nur dann durchgeführt werden, wenn beide Seiten numerisch sind. TZ.4 ist in deinem Fall nicht numerisch, deshalb tritt bei der Subtraktion der Fehler auf. Man kann halt mit Buchstaben nicht rechnen.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 15:26 Uhr

julius
Posts: 2255
Nutzer
Das verstehe ich. Auf den anderen beiden Amigas läuft das Programm ohne Probleme.
Und die Zeile 1225 ist identisch. Ich poste mal den ganzen Block:

IF ~DATATYPE(LEFT(tzstr,1),'N') THEN
DO

/* New STD/DST values, */
/* reset the old ones */
TZ.1 = ''
TZ.2 = ''
TZ.3 = ''
TZ.4 = ''
TZ.9 = ''

tzword = WORD(tzstr,1)
tzstr = DELWORD(tzstr,1,1)

tzword = gettzo(tzword)
PARSE VAR tzword TZ.1','TZ.2','TZ.3','TZ.4
IF DATATYPE(TZ.2,'N') & DATATYPE(TZ.2,'N') THEN TZ.9 = TZ.4 - TZ.2

END

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 15:40 Uhr

thomas
Posts: 7717
Nutzer

Da müßte man jetzt wissen, wo tzstr herkommt, und was gettzo daraus macht.

"TZ" steht wahrscheinlich für Time-Zone. Ich vermute, tzstr wird aus einer Env-Variablen gelesen und du hast auf den anderen Amigas diese Variable gesetzt und auf diesem nicht.

Den Fehler in Zeile 1225 solltest du aber trotzdem korrigieren.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 16:03 Uhr

julius
Posts: 2255
Nutzer
Ich habe die zweite auf TZ.4 geändert. Jetzt klappt es. Aber erklären ich mir das nicht.Ich habe auch auf keinem der Rechner eine Variable gefunden.

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 16:28 Uhr

Palgucker
Posts: 1342
Nutzer
Es kann auch sein, das dieser String aus Env:Sys/locale.prefs gebildet wird.

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 16:33 Uhr

Gazelle
Posts: 151
Nutzer
@julius:

Mit Variable ist in dem Fall eine globale Umgebungsvariable von DOS gemeint. Diese stehen in ENV:
Probier mal in einer Shell:
Type ENV:TZ

Wenn das auf den Rechnern unterschiedliche Ergebnisse liefert, weißt Du woher der Fehler kam.

[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 17:47 Uhr

julius
Posts: 2255
Nutzer
Auf dem Rechner, wo die Probleme bestehen, existiert die Variable TZ. Sie hat den Wert Sys-1.
Auf dem Rechner ohne Probleme existiert die Variable nicht.
Nachdem ich die Variable TZ gelöscht habe, klappt alles bestens.
Ich weis nur nicht, wo die Variable TZ herkam.


[ - Antworten - Zitieren - Direktlink - ]

19.03.2006, 19:37 Uhr

Palgucker
Posts: 1342
Nutzer
@ julius

Zitat:
Ich weis nur nicht, wo die Variable TZ herkam.

Könnte eventuell von FACTS herstammen, wobei FACTS eigendlich den Bindestrich weglässt. Meine jetzige TZ lautet SYS-1BST. Aber ich weiss auch nicht mehr, mit welchen Programm ich mir die "aufgegabelt" habe.

mfg Palgucker

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > ARexx Fehler [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.