AW: [Allegro] acon: include und relative Pfade
Fischer, Thomas
fischer at sub.uni-goettingen.de
Mo Mai 30 16:06:58 CEST 2011
Lieber Herr Berger, Herr Eversberg, liebe Liste,
ich war heute Vormittag unterwegs und kann mich erst jetzt melden.
> [mailto:allegro-bounces at biblio.tu-bs.de] Im Auftrag von Thomas Berger
> Gesendet: Samstag, 28. Mai 2011 17:46
> An: Allegro-C Diskussionsliste
> Betreff: [Allegro] acon: include und relative Pfade
...
> Fuer allegro waere
> dies alles eher uebertrieben, man koennte aber ueberlegen, ob
> absolute Pfade der Form include /paket/helper.inc sich nicht
> auf ein Zentrales Ausgangsverzeichnis (Programmverzeichnis?,
> Ort von avanti.con[f]?, ...) beziehen koennten. Ich fuerchte
> allerdings, dass Herr Fischer Wert darauf legt, echt absolute
> Adressierung zu bekommen, wie in include //server99/C$/avanti/test.inc
Sollte ich der von Herrn Berger gemeinte Herr Fischer sein, so liegt mein Problem ein wenig anders bei den Pfaden. "echt absolute Adressierung" trifft es nicht; ich glaube, dass es sinnvoll wäre, die ganze Implementierung von Dateieinbindungen zu überdenken und zu vereinheitlichen(!).
Ich habe zwei Probleme:
1. Dieselben Dateien werden von A99 und Avanti benutzt (z.B. eine allgemein in verschiedene Indexparameter eingebundene Tabelle). Wo kann ich die so ablegen, dass sie sowohl von A99 als auch von Avanti gefunden wird (und nicht im Gewühle des Allegro-Programmverzeichnisses untergeht)? Derzeit benutze ich meist den "virtuellen Aufrufpfad" von Avanti (das klappt nicht mit Z39.50!), ich könnte mir aber vorstellen, dass ein relativer Pfad zum Programmverzeichnis da helfen könnte. Bei der jetzigen Anlage von Avanti ist es ja kein großes Problem mehr, A99 und Avanti im selben Verzeichnis zu halten. Wenn eine Referenz der Art "../ssgfi" klappt, könnte man auch bequem mit parallelen Verzeichnissen arbeiten; ob da Gefahren lauern weiß sicher Herr Berger...
2. Dieselben Dateien werden von Avanti unter Linux und A99 unter Windows benutzt. Da helfen nur relative Pfade, da Linux mit "F:\\ssgfi" gar nichts anfangen kann. Hier ist es wichtig, dass sowohl "/" als auch "\" interpretiert werden können, das ist wohl derzeit der Fall: Windows-Programme interpretieren "/" als "\" (hoffe ich).
Hilfreich wäre die Nutzung der CSTRING-Mechanismen wie von Herrn Eder vorgeschlagen (vor allem D und P, vielleicht W?), wenn diese dem Kontext entsprechend ausfallen: derzeit steht in xcstring:
D Datenbank-Pfadname (mit \ am Ende) DbDir
...
P Name des Programmverzeichnisses (mit \ am Ende) ProgDir
das wäre meinem Linux-Avanti nicht recht...
Auf meinem lokalen Win-Rechner (Win XP) kommt derzeit mit av-w v31.1 und ac-w v31.1:
P: C:allegroAvantibin
D: G:ssg-math
in der Anzeige von avadmin, PHP unterdrückt da wohl die "\".
Der entsprechende Linux-Avanti liefert
P: /srv/avanti/server/./
D: /srv/avanti/allegro/ssg-math/
das ist bis auf das "./" soweit korrekt.
Wird hinter "&" ein "virtueller Aufrufpfad" gesetzt, so liefert P diesen, ich weiß nicht, ob das irgendwo dokumentiert ist. Steht damit das Programmverzeichnis nicht mehr als Suchverzeichnis zur Verfügung?
Der Inhalt von W erscheint mir suspekt, mein Eindruck ist, dass von A99 eher das Datenverzeichnis und nie ein speziell gesetztes DbAux geliefert wird (Avanti kennt das ja sowieso nicht).
Völlig unklar ist mir, wie bei
x var W\mes
C:\Program Files\Common Files\Adobe\Adobe Version Cue CS4\Client\4.0.1
kommen kann, wenn in der entsprechenden ini-Datei
DbAux=C:\A99\Math\
steht.
Mit freundlichen Grüßen
Thomas Fischer
Mehr Informationen über die Mailingliste Allegro