Bei dem Klick auf die Schaltfläche "Internet besuchen" des Dialoges "FreeDoko über" (a)/ beim Aufruf der FreeDoko-Hilfe (b) wird ein Seiten-Ladefehler im Browser Mozilla Firefox Version 3.6.3 anzeigt.
Die URL beginnt mit "file:///FreeDoko_Installationspfad/%27" gefolgt von
(a) http://free-doko.sourceforge.net/en/
(b) file:///P:/Games/FreeDoko/doc/manual/de/index.html
Ansonsten werden (a) und (b) ohne Fehler angezeigt.
In der Entwicklerversion ist der Fehler korrigiert.
Damit das lokal vorliegende Handbuch verwendet wird, müssen nach dem nächsten Aktualisieren die Dateien update.bat und init.bat aus dem Unterverzeichnis install_dev in das Verzeichnis FreeDoko.dev kopiert werden.
zu (a) Seite wird im Browser direkt angeziegt.
zu (b) Seite wird im Browser direkt angeziegt, wenn folgende Änderungen durchgeführt werden.
Bei der erneuten Installation der Entwicklerpaket bekam ich eine Fehlermeldung beim Anzeigen des Handbuches angezeigt, Diese habe ich das letztemal wohl irgend wie igniert, da ich das Handbuch schon vorher geöffnet hatte.
... '/de/overview.hrml' ...
1. Diese wird angezeigt, da In der Datei init.bat statt der Variablen FREEDOKO_MANUAL_DIRECTORY die Vatiable FREEDOKO_MANUAL_DIR gesetzt.
2. In der Datei makefile.local wird die Variable MANUAL_DIRECTORY_VALUE gesrzt
CPPFLAGS += -DMANUAL_DIRECTORY_VALUE='"../doc/manual"'
Im Verzeichnis doc existiert das Verzeochnis manual nicht, da in der Datei init.bat auf den Pfad %FREEDOKO_DIRECTORY%\manuel verwiesen wiird.
Zeile 51
set FREEDOKO_MANUAL_DIR=%FREEDOKO_DIRECTORY%\manual
ist in
set FREEDOKO_MANUAL_DIRECTORY=%FREEDOKO_TRUNK_DIR%\doc\manual
zu ändern.
Danach bekam ich die Datei Index.html Mozilla Firefox angezeigt.
Es fehlt noch die automatische Weiterleitung zur Seite overview.html.
Diese erreicht man durch das tag meta
http-equiv="refresh"
content="0 0 Sekunden warten
Für den Fall, dass ein Browser dieses nicht unterstützt bzw. ein Benutzer dieses im Browwser deaktiviert hat, ist der link <a href="overview.html">Overview</a> eingefügt.
Inhalt der Datei index.html
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="refresh" content="0; URL=overview.html">
</head>
<body>
<a href="overview.html">Overview</a>
</body>
</html>
Mea culpa
Ich habe das Entwicklerpalet herutrergeladen und geprüft,. In der Datei init.bat wird die Variable folgendermaßen gesetzt
set FREEDOKO_MANUAL_DIRECTORY=%FREEDOKO_DIRECTORY%\manual
Bei der Installation tritt die Fehlermeldung nicht auf (geprüft). Da habe ich wohl eine Änderung in den falschen Dateien an der falschen Stelle durchgeführt.
Es ist aber nicht das richtige Verzeichnis.
Es bleibt trotzdem bei den beschriebenen Änderungen.
Hallo,
Danke für den Tip wo Freedoko nach dem Manual sucht.
Die Datei help.cpp hatte ich im Suchergebnis. Ich hatte aber angenommen, dass
in diesem Verzeichnis das User Interface implementiert ist und habe es nicht
weiter beachtet.
Da die Angabe des Pfades in der Datei init.bat richtig ist, habe ich
- die Änderungen rückgängig gemacht
- den Verzeichnisbaum bereinigt
- ein update durchgeführt.
Die Hilfe wurde Lokal nicht angezeigt. Als nächstes habe ich mir dann die
Datei help.cpp an der angegebenen Stelle angesehen.
FreeDoko durchsucht einige Angaben zum Manaul. (s. u.)
Es wird aber nur dann angezeigt, wenn ein relativer Pfad vorliegt. Bei einem
absoluten Pfad erfolgt die Rückgabe der URL zur Website am Ende der Funktion.
Daraufhin habe ich eine Funktion geschrieben die mit Hilfe der Funktion
GetFullPathName eine Pfadangabe in den FullPath umwandelt.
Es folgt die Ausgabe der
Mit
- a ist der Pfad vor der Umwandlung
- b ist der Pfad nach der Umwandlung
- c ist der Pfad nach der Abfrage Existiert die Datei
gekennzeichnet.
1. Environment
a C:\FreeDoko.dev\manual/index.html
b C:\FreeDoko.dev\manual\index.html
c C:\FreeDoko.dev\manual\index.html (*)
2. Registry
a P:\Games\FreeDoko\doc\manual/de/index.html
b P:\Games\FreeDoko\doc\manual\de\index.html
c P:\Games\FreeDoko\doc\manual\de\index.html
3. Settings
a C:\FreeDoko.dev\more_data/../doc/manual/de/index.html
b C:\FreeDoko.dev\doc\manual\de\index.html
a C:/Dokumente und Einstellungen/dpr/Anwendungsdaten/FreeDoko/../doc/manual/de/index.html
b C:\Dokumente und Einstellungen\dpr\Anwendungsdaten\doc\manual\de\index.html
a ../data/../doc/manual/de/index.html
b C:\FreeDoko.dev\trunk\doc\manual\de\index.html
a ./../doc/manual/de/index.html
b C:\FreeDoko.dev\trunk\doc\manual\de\index.html
Es wird die Index.html-Datei aus dem Verzeichins (*) angezeigt. D. h. Die Links
verweisen auf die Verzeichnisse de / en. Folgt man diesen werden die Dateien in
den Verzeichnissen aufgelsitet.
Die vorherige Angabe bezog sich auf die Index-Dateien aus den
Verzeichnissen de bzw. en. Sorry.
Die geänderten Dateien hänge ich gezipt als Attachment an.
Hallo,
danke für den Code. Ich habe die Konvertierung in den absoluten Pfad in file.cpp übernommen und für Windows die Windows-spezifische Funktion verwendet. Den Aufruf habe ich angepasst, so dass die benötigte Bufferlänge dynamisch ermittelt wird.
Viele Grüße
Diether Knof