nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

HALT oder nicht HALT

Von: Jürgen Lerch (jynwyn@gmx.de) [Profil]
Datum: 04.04.2009 04:26
Message-ID: <1141620611881251.NC-1.61.jynwyn@news.freenet.de>
Newsgroup: de.comp.lang.pascal
Saluton!

Mein FreePascal-Programm, welches einmal auf AMIGA, Linux und
Windows laufen soll, hat folgende Struktur:

PROGRAM Yarl;

PROCEDURE Init;
PROCEDURE ReadArgs;
.
.
.
IF Kommandozeilenparameter = Aufrufhilfe THEN BEGIN
WriteLn("YARL <wasauchimmer>");
HALT;
END; {IF}
.
.
.
END; {ReadArgs}
.
.
.
BEGIN {Init}
ReadArgs;
TimerSeed;
IOInit; {hier wird systemabhängig die Bildschirm-IO
initialisiert - OS-Funktionen auf dem AMIGA,
sonst derzeit die GRAPH-Unit}
.
.
.
END; {Init}

BEGIN
TRY
Init;
.
.
.
FINALLY
.
.
.
END.

Auf dem AMIGA, mit FreePascal 1.10 funktioniert es auch so,
wie erhofft: Normalerweise öffnet es seinen Bildschirm und
macht, was es im Moment so tun soll; wenn ich es mit den
Parametern für die Aufrufhilfe starte (z.B. ,,yarl -h'',
gibt es diese Hilfe auf der Kommandozeile aus und beendet
sich.

Unter Linux (derzeit Debian Etch/FreePascal 2.0.0) benutze
ich im Moment die GRAPH-Unit (die leider die svgalib und
damit Root-Rechte benötigt, aber das ist ein anderes,
leidiges Thema). Wenn ich dort die Aufrufhilfe haben will,
öffnet es eine virtuelle Konsole für GRAPH und gibt den
Hilfetext dort aus, obwohl es wegen des HALTs in ReadArgs
doch eigentlich gar nicht bis IOInit, wo solches angeleiert
wird, kommen sollte. Was ist hier los? Was hab' ich wieder
im Handbuch übersehen?

(Unter Windows hab ich's noch nicht getestet.)

Ad Astra!
JuL

--
jynwyn@gmx.de        / L'état, c'est toi. (Moi)
Jürgen ,,JuL'' Lerch /


[ Auf dieses Posting antworten ]

Antworten