"Ubergabe von Umgebungsvariable an CockPit

allers at goethe.de allers at goethe.de
Do Mai 23 14:02:07 CEST 1996


*** Uff, das hat mich Stunden gekostet! ***

Was? Siehe weiter unten! Vorweg erst einmal:

Wenn man seine Allegro-Umgebungen mal auf dieser und mal
auf jener Festplatte zu fahren hat, will man so wenig
wie m"oglich an der CockPit-Aufruf und an der CockPit-
Vorgabedatei "andern, sondern z.B. durch Setzung einer
einzigen DOS-Umgebungsvariablen bestimmen, auf welcher
Platte das Geschehen ablaufen soll.

Konkret ein Beispiel:

Wenn die Vorgabedatei CP.OPT in ihren hier wesentlichen
Passagen so aussieht:


   ...
   ...
   ...
   C CP.BAT      Definition der VockPit-Aufrufdatei
   ...
   d %fp%\ALLEGRO\KATALOG    Datenbankverzeichnis
   ...
   l GOE
   P %fp%\allegro            Programmverzeichnis
   ...
   ...
   ...


und die CockPit-Aufrufdatei CP.BAT an ihren
wesentlichen Stellen so:


   ...
   ...
   ...
   set -L=goe
   ...
   set -D=%fp%\allegro\katalog
   ...
   set -P=%fp%\allegro
   %-p%\acp.exe -oCP.OPT %1 %2 %3 %4 %5 %6 %7 %8 %9 -S
   ...
   ...
   ...



dann bedarf es nur der Setzung der Umgebungs=
variablen 'fp' (fp=Festplatte) mittels

   set fp=c

um dem CockPit zu sagen, da"s die Dinge auf Platte C:
ablaufen sollen; und wenn man das Daten- und Programm=
verzeichnis auf Platte H: spiegelt, dann hat man halt nur

   set fp=h

auf DOS-Ebene zu setzen und braucht nicht an x Stellen in
CP.BAT und in CP.OPT editierend einzugreifen (und dabei
wom"oglich noch eine Stelle zu "ubersehen).

So weit so gut. Aber der langen Rede kurzer Sinn ist, da"s
das an einer Stelle hakt! Und zwar funktioniert an einer
Stelle (an allen anderen Stellen durchaus!) in der VORGABE-
Datei NICHT die "Ubergabe der Umgebungsvariablen 'fp',
n"amlich hier:

   ...
   l GOE
   P %fp%\allegro
   ...

Das ist daran zu sehen, da"s beim CockPit-Aufruf erst dann nicht
mehr das Fehlen von UIFC beklagt wird, wenn man in der Zeile

   P %fp%\allegro

von Hand (editierend) den Umgebungsvariablenstellvertreter durch
den Festplattenkennbuchstaben ersetzt!

Entweder, ich habe einen Denk- und Experimentierfehler gemacht,
oder ich bitte Thomas Berger, einen neuen Punkt in seiner Bugliste
einzurichten, und die Entwicklungsabteilung, sich gelegentlich der
Behebung des Fehlers anzunehmen.

Mit bestem Gru"s



Mehr Informationen über die Mailingliste Allegro