ich habe heute Routeconverter 1.30 heruntergeladen und leider ein Problem damit festgestellt: Es werden keine Karten bei mir geladen, was sich bei mir folgendermaßen darstellt:
Das Problem tritt unabhängig von der Fenstergröße oder vom ausgewählten Kartentyp aus. Auch wenn ich ein GPX öffne, wird der Track nicht wie sonst üblich im Kartenfenster angezeigt. Die parallel vorhandene Version 1.29 funktioniert noch einwandfrei.
Zur Hilfe bei der Diagnose habe ich das jeweilige Logfile angehängt. Die durchgeführte Aktion war lediglich Starten des Routeconverters und anschließendes Beenden. Mir fallen da einige Unterschied zwischen der funktionierenden 1.29 und der (aus meiner Sicht) fehlerhaften 1.30 auf.
Hast Du in der Kartenanzeige etwas geändert? Da sind völlig andere Klassennamen genannt.
Die 1.30 habe ich hier bei Dir heruntergeladen, die funktionierende 1.29 musste ich von Brothersoft organisieren, nachdem ich die alte .EXE bereits mit der neuen überschrieben hatte (Updates waren bisher auch immer problemlos).
Ich nutze die 32-bit Routeconverter.exe. An meinem Setup (Hardware, Software, Treiber, etc.) hat sich nichts geändert. Beide Versionen liegen parallel im gleichen Verzeichnis. Die 1.29 funktioniert, die 1.30 nicht.
Ist das ein Fehler im Programm oder ein Fehler von/bei mir?
Sporadisch funktioniert die Kartenanzeige, meist jedoch nicht. Allerdings habe ich die Umstände noch nicht reproduzieren können, unter denen es funktioniert. Daher nur das Log eines fehlerhaften Programmstarts und -ende:
RouteConverter_pre_exe_fehlerhaft.txt (Size: 2.85 KB / Downloads: 735)
Der erste Programmstart der frisch heruntergeladenen Prerelease-EXE nach dem Hochfahren des Rechners aus dem Ruhezustand klappte zu meiner Überraschung problemlos.
Sporadisch funktioniert die Kartenanzeige, meist jedoch nicht.
Auch hier habe ich die Umstände noch nicht reproduzieren können, unter denen es funktioniert. Dafür ist es mir gelungen, einen sauberen sowie einen fehlerhaften Programmstart und -ende zu protokollieren.
Wenn ich die Logs vergleiche, sehe ich einen Unterschied beim Starten der Komponente Mapview. Gibt es eine Möglichkeit (zumindest zum Debuggen), MapView manuell zu starten?
Nachtrag: Ich dachte, ich bin mal clever und versuchte zu tricksen. Wenn MapView lokal auf meinem Rechner auf einen Port gebunden wird, könnte ich doch eine Instanz des JDIC-JARs starten und dann gleichzeitig die EXE starten. MapView liefe dann ja schon durch das JAR und die EXE hätte es verwenden können.
Hat aber leider auch nicht geklappt.
Damit tritt das Symptom nie (soweit man das von ca. 20 Starts extrapolieren kann ) auf. So soll's sein.
RouteConverter_prejdic_jar.txt (Size: 4.76 KB / Downloads: 742)
Was mir noch aufgefallen ist (ich nutze immer nur die EXE statt eines JARs): In meinem %TEMP%-Ordner im Profil hinterlassen alle EXE-Versionen für jeden Programmstart zwei Dateien mit Namen tempA.jar und tempB.jar, wobei B==A+1. Ist dieses Verhalten normal? Räumt der EXE-Starter da nicht richtig auf? Auf diese Weise wird %TEMP% langsam vollgemüllt.
Noch'n Nachtrag:
Ich Wrote:Der erste Programmstart der frisch heruntergeladenen Prerelease-EXE nach dem Hochfahren des Rechners aus dem Ruhezustand klappte zu meiner Überraschung problemlos.
Nachdem ich den Rechner aus dem Ruhezustand (Hibernate) aufgeweckt habe, funktioniert der erste Programmstart auch der EXE und des Nicht-JDIC-JARs einwandfrei! Allerdings klappt es wirklich nur beim ersten Programmstart. Jeder weitere Programmstart zeigt das beschriebene Symptom.
10.11.2009, 19:42 (This post was last modified: 10.11.2009, 20:05 by kumo.)
Hallo Christian,
danke für das ausführliche Testen und die Log-Dateien.
Bis RouteConverter 1.28 wurde die Karte generell über die JDIC Bibliothek integriert.
Die danach veröffentlichten finalen Versionen benutzen hingegen die SWT Bibliothek.
Bei den Pre-Releases fährt Christian zurzeit noch getrennt.
Nur das RouteConverterPrereleaseJDIC.jar benutzt weiterhin die alte JDIC Bibliothek.
Das gleichartige Verhalten der anderen beiden Versionen ist also erklärbar, aber natürlich unbefriedigend.
Ab hier wird nun Christian das Thema übernehmen müssen.
(08.11.2009, 17:55)ChristianS Wrote: Hast Du in der Kartenanzeige etwas geändert?
Hallo Namensvetter,
ja, ich habe mehr Funktionalität von der Java auf die JavaScript-Funktionalität verlagert.
(08.11.2009, 17:55)ChristianS Wrote: Ist das ein Fehler im Programm oder ein Fehler von/bei mir?
Schwer zu sagen - das Problem ist, daß durch die o.a. Änderungen die routeconverter.html zwischen 1.29 und 1.30 nicht kompatibel ist. Und mein Aktualisierungsalgorithmus das nicht abfedern kann...
Bevor ich weiter Rätsel aufgebe: Im Log steht
Code:
09.11.2009 19:44:10 slash.common.io.Externalization extractFile
INFO: Extracting slash/navigation/converter/gui/mapview/routeconverter.html to C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp\routeconverter\routeconverter.html
Wenn Du zwischen 1.29 und 1.30 wechselst, lösche die Datei C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp\routeconverter\routeconverter.html. Das sollte helfen.
(09.11.2009, 19:59)ChristianS Wrote: Was mir noch aufgefallen ist (ich nutze immer nur die EXE statt eines JARs): In meinem %TEMP%-Ordner im Profil hinterlassen alle EXE-Versionen für jeden Programmstart zwei Dateien mit Namen tempA.jar und tempB.jar, wobei B==A+1. Ist dieses Verhalten normal? Räumt der EXE-Starter da nicht richtig auf?
Normal ist das nicht, da scheint der .exe-Stummel nicht richtig aufzuräumen. Schade
(10.11.2009, 22:05)routeconverter Wrote: Wenn Du zwischen 1.29 und 1.30 wechselst, lösche die Datei C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp\routeconverter\routeconverter.html. Das sollte helfen.
Sämtliche Dateien in %TEMP%, die zu Routeconverter gehören, habe ich vor jedem versuchten Programmstart gelöscht. Daran kann es eigentlich nicht liegen, denn somit war jedes Mal die gleiche Ausgangsbasis für einen Start gegeben, soweit ich das beeinflussen konnte.
12.11.2009, 22:18 (This post was last modified: 12.11.2009, 22:19 by ChristianS.)
Da bin ich wieder. Leider erst heute, weil ich in den letzten Tagen beschäftigt war.
(11.11.2009, 10:07)routeconverter Wrote: Ja, das könnte sein. Bislang gibt/gab es das Problem nur unter Linux und Mac OS X. Bitte lies Dir mal diesen Thread durch und probiere
Ich habe mir das durchgelesen und auch darum herumprobiert. Mehr dazu unten.
(11.11.2009, 10:07)routeconverter Wrote: BrowserTest1Windows.jar opens the Google Maps web site in a Window
Funktioniert:
(11.11.2009, 10:07)routeconverter Wrote: BrowserTest2Windows.jar opens a Google Maps based map with JavaScript in a Window
Funktioniert nur beschränkt, d.h. im Ausschnitt:
Beobachtungen, die ich mittlerweile gemacht habe:
1. Auf zwei anderen Rechnern funktioniert routeconverter.exe in den Versionen 1.29 und 1.30 problemlos. Nur auf meinem Arbeitsplatz hier gibt es seit der 1.30 die besagten Probleme.
2. Mein Firefox 3.5.5 zeigt den Inhalt von routeconverter.html ebenfalls fehlerhaft wie in obigem Screenshot. Aber das trifft auch auf die routeconverter.html zu, die von Routeconverter 1.29 erzeugt wird.
3. Auch die Version 1.31 hinterlässt noch die JARs in %TEMP%, aber das ist ein Nebenkriegsschauplatz.
Ich glaube, ich habe die Ursache gefunden. Durch die fehlerhafte Darstellung im Browser (siehe 2.) habe ich am CSS herumgespielt. Damit das DIV #map mit 100% Fensterhöhe angezeigt wird, sollte das Elternelement body ebenfalls vorher auf 100% Höhe gesetzt werden. Siehe http://www.css4you.de/height.html
Wenn ich in routeconverter.html also folgendes CSS einfüge:
Code:
body { width: 100%; height: 100% }
funktionieren bei mir (meistens (*) ) plötzlich alle Versionen (1.29 bis 1.31 als EXE, sogar die PreReleases). Die Karte ist dann zwar scheiße positioniert, wird aber wenigstens vollständig angezeigt. Mit Feinarbeit ist das sicherlich auch noch in den Griff zu bekommen.
(*) Die Einschränkung "meistens" muss ich machen, weil es nicht immer funktioniert. Ich vermute, dass meine gepatchte %TEMP%\routeconverter\routeconverter.html gelegentlich überschrieben wird von der mitgelieferten. Ein Schreibschutz hilft leider auch nicht, weil Deine Anwendung mir sonst eine Exception um die Ohren wirft.
Ich war so frei und habe die routeconverter.html in RouteConverterPrerelease.jar entsprechend gepatcht. Seitdem funktioniert RouteConverterPrerelease.jar problemlos.
Damit die routeconverter.html auch im (Firefox-) Browser im "Vollbild" läuft, musste ich noch ein
Code:
position: absolute;
bei #map einfügen (wie in den Beispielen von http://www.webmasterworld.com/forum83/200.htm; ich glaube aber, ich habe diese "Einschränkung" auch schon einmal auf http://www.css4you.de/ gelesen, dass gewisse Eigenschaften nur greifen, wenn ein Element positioniert ist, bin da aber nicht 100% sicher).
Frag mich bitte nicht, wieso das in früheren Versionen funktionierte und plötzlich nicht mehr. Das habe ich noch nicht ganz verstanden. Hoffentlich helfen Dir meine Beobachtungen aber weiter. Für weitere Tests stehe ich gerne bereit.
12.11.2009, 22:42 (This post was last modified: 12.11.2009, 22:54 by routeconverter.)
(12.11.2009, 22:18)ChristianS Wrote: 2. Mein Firefox 3.5.5 zeigt den Inhalt von routeconverter.html ebenfalls fehlerhaft wie in obigem Screenshot. Aber das trifft auch auf die routeconverter.html zu, die von Routeconverter 1.29 erzeugt wird.
Das ist schon so ok so. Die Größe der Karten steuere ich mittels JavaScript, da sie vom Platz im Programmfenster abhängt. Öffnet man die routeconverter.html im Browser ist ein schmaler Streifen zu sehen.
(12.11.2009, 22:18)ChristianS Wrote: 3. Auch die Version 1.31 hinterlässt noch die JARs in %TEMP%, aber das ist ein Nebenkriegsschauplatz.
Daran kann ich nichts ändern. Ich verwende das inzwischen nicht mehr weiterentwickelte JSmoothGen für die Erzeugung der .EXE's und habe noch keinen Ersatz dafür gefunden.
(12.11.2009, 22:18)ChristianS Wrote: Ich glaube, ich habe die Ursache gefunden. [..]
Jein, der Kartenausschnitt paßt sich nicht dem vorhandenen Platz an, wenn die Größenänderung per JavaScript nicht funktioniert.
(12.11.2009, 22:18)ChristianS Wrote: Die Karte ist dann zwar scheiße positioniert, wird aber wenigstens vollständig angezeigt. Mit Feinarbeit ist das sicherlich auch noch in den Griff zu bekommen.
Das eigentlich Problem bleibt: wieso kommen die JavaScript-Befehle nicht beim Browser an?
(12.11.2009, 22:18)ChristianS Wrote: (*) Die Einschränkung "meistens" muss ich machen, weil es nicht immer funktioniert. Ich vermute, dass meine gepatchte %TEMP%\routeconverter\routeconverter.html gelegentlich überschrieben wird
Gelegentlich klingt komisch, eigentlich sollte nur eine %TEMP%\routeconverter\routeconverter.html überschrieben werden, die älter als die im JAR ist.
(12.11.2009, 22:18)ChristianS Wrote: Ich war so frei und habe die routeconverter.html in RouteConverterPrerelease.jar entsprechend gepatcht. Seitdem funktioniert RouteConverterPrerelease.jar problemlos.
Ok, und bei Größenänderungen am Fenster?
(12.11.2009, 22:18)ChristianS Wrote: Damit die routeconverter.html auch im (Firefox-) Browser im "Vollbild" läuft, musste ich noch ein position: absolute; bei #map einfügen
Wozu ist es wichtig, daß die routeconverter.html im (Firefox-) Browser im "Vollbild" läuft?
(12.11.2009, 22:18)ChristianS Wrote: Frag mich bitte nicht, wieso das in früheren Versionen funktionierte und plötzlich nicht mehr. Das habe ich noch nicht ganz verstanden. Hoffentlich helfen Dir meine Beobachtungen aber weiter. Für weitere Tests stehe ich gerne bereit.