"Ubergabe von Umgebungsvariable an CockPit

thomas at mpim-bonn.mpg.de thomas at mpim-bonn.mpg.de
Fr Mai 24 12:55:16 CEST 1996


Lieber Herr Bulle, lieber Herr Allers,

> ...                                   Diese Methode wird als Standard 
> zum HANS-Paket mitgeliefert - an dem doch auch Herr Berger mitgebastelt 
> hat; deshalb wundert es mich, dass er Ihnen einen so komplizierten Rat 
> gegeben hat.

Das ist wahr. Die Konstruktion bei HANS ist von mir. "Basteln" ist
vielleicht ein schlechter Ausdruck, "schwitzen und tuefteln" passt
besser :-).


Weil Herr Bulle die wesentlichen Teile bereits zusammengestellt hat,
moechte ich nur kleinere Kommentare dazu abgeben:

 
> Vorgabedatei CPHANS.OPT
>    ...
>    P %-P%

Diese Zeile funktioniert nur, weil die ganze Konstruktion so
ist, dass sie garnicht benutzt wird!

>    ...
>    C %-HANS%\CPHANS.BAT

Diese Zeile funktioniert, da sie so wie sie ist von ACP ans Ende 
der CCC.BAT geschrieben wird



> Cockpit-Aufrufdatei CPHANS.BAT
>    ...
>    : Umgebungswerte initialisieren (lassen)
>    if "%-HANS%"=="" call INIHANS

Diese Zeile vermeidet Doppelsetzungen: CPHANS.BAT wird ja stets
aufgerufen, wenn ein Ruecksprung ins Cockpit erfolgt, sind
-P, -D, etc. geaendert worden, sollen die Vorgaben aus INIHANS
natuerlich. _nicht_ genommen werden. INIHANS.BAT wiederum setzt
die Variable -HANS und manifestiert somit, dass alle Variablen
initialisiert sind.

Weniger elegant aber einsichtiger waere eine Konstruktion aus:
COCKPIT.BAT - macht Setzungen und startet ACP das erste Mal
ACPS.BAT - (ruhig im schreibgeschuetzten Programmverzeichnis)
           macht ACP-Aufruf die folgenden Male wegen 
           'C %-P%\ACPS.BAT' in CP.OPT.
Beide entsprechen natuerlich CP.BAT, nur dass ich persoenlich
keinen Namen benutze, der traditionell fuer COPY-Kommandos 
reserviert ist...

>    ...
>    %-EXE%acp -oCPHANS.OPT %1 %2 %3 %4 %5 %6 %7 %8 %9 -a3%-MP%
>    ...

wichtig ist hier, dass -P auch schon beim ersten Aufruf (durch 
besagtes INIHANS) besetzt ist, so dass die 'P'-Zeile aus 
CPHANS.OPT keine Chance hat.
N.B.: %-EXE% ist leer, falls das Programmverzeichnis im Suchpfad
ist, sonst "%-P%\". (Aufrufzeilenkuerzechance zuungunsten von
Umgebungsspeicher).


Aber um nocheinmal den Inhalt meiner ersten Mail zum Thema
zusammenzufassen: 
Es ist m.E. moeglich, Cockpit so zu starten und mit einer 
'installationsunabhaengigen' Vorgabendatei, die 
Umgebungsvariablensyntax benutzt, zu fuettern, dass die generierten 
Aufrufe in CCC.BAT funktionieren.
Die 'eingebauten' Cockpit-Funktionen (Editieren vor allem oder der
Punkt 'zuruecksetzen') funktionieren dann aber in der Regel nicht.


Viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro