PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QMapShack Problem unter Win7 64Bit


cklp
26.04.2016, 17:28
Hallo und herzlich Willkommen zusammen,

ich habe ein Problem, QMapShack auf meinen aktuellen Rechner zum laufen zu bringen. Die Installation (inkl. C++ Runtime) läuft problemlos durch, QMapShack startet auch. Sobald ich allerdings eine Karte hinzufügen will friert das Programm ein, ein weiterer Klick auf das Programmfenster löst den Dialog "QMapShack funktioniert nicht mehr..." aus. Den gleichen Effekt habe ich, wenn ich ein Dummy-Projekt anlege und dieses speichern will.
Ich habe QMapShack danach in einer virtuellen Maschine installiert, in dieser habe ich den Effekt "einfrieren" schon beim Programmstart.
Daten zum Rechner:
I7, Windows 7 64Bit SP1, 16GB Ram, 1TB SSD

Hat jemand einen Tipp für mich, wie ich QMapShack zum laufen bringe?
Da es auf dem Hauptrechner ja dann einfriert, wenn der Dateidialog aufgehen müsste: braucht man ggf. bestimmte Laufwerke, die der Rechner nicht hat (die Festplatte ist in zwei Partitonen C:\und D:\ unterteilt, sonst gibt es kein Laufwerk mehr)?

Ich habe mal davon gelesen, dass es einen Startparameter gibt, mit dem man ein Log-File erzeugen kann. Leider finde ich diesen Beitrag nicht mehr. Kann mir da jemand nochmal auf die Sprünge helfen, vielleicht stehen da ja noch einige Infos zum Problem drin.

Als Fallback habe ich mir nochmal QLandkarte installiert, was sowohl auf den eigentlichen Rechner als auch in der VM läuft, aber ich hatte mich gerade an QMapShack (auf meinem alten Rechner) gewöhnt.

Vielen Dank für eure Hilfe
Christoph

anesthesia
26.04.2016, 22:20
Halo,
welche Version hast du installiert? Die aktuelle ist 1.6.1..

https://bitbucket.org/maproom/qmapshack/downloads

Hier findest du auch 2 Hilfedateien, die sich auf Windows beziehen.

Und welche Karte möchtest du laden? Onlinemaps? Im Naviboard.de hat kiozen zu diesem Verhalten eine Antwort verfasst, ab Mitte Beitrag:

http://www.naviboard.de/vb/showthread.php?p=485290

Viel weiter kann ich dir leider nicht helfen.

kiozen
27.04.2016, 08:09
Ich habe gerade die Version 1.6.1 auf Windows ausprobiert. Funktioniert alles wie erwartet. Somit scheint es kein generelles Problem zu sein.

Die Dokumentation der Kommandozeilenparameter findest Du hier:

https://bitbucket.org/maproom/qmapshack/wiki/DocCmdOptions

Interessant wäre auch die -c Option. Dann wird für die Konfiguration eine Datei genommen und nicht die Registry. Das ist ein guter Weg um herauszufinden, ob etwas in der Registry kaputt ist.

cklp
27.04.2016, 20:57
Hallo anesthesia, hallo kiozen,

danke für eure Antworten.
Ich nutze die Version 1.6.1 und möchte eine Offline-Karte laden, ich hatte diese Karte auch schon auf meinem alten Rechner unter QMapShack eingebunden.

Ich habe mal die Startparameter probiert. Bei -c zeigt sich genau das gleiche Verhalten.
Bei -f enthält die Datei nach dem Programmstart die folgenden Einträge:
[debug] Probe device at "C:/" "C:/" "OS"
[debug] Don't know it :(
[debug] Probe device at "D:/" "D:/" "Data"
[debug] Don't know it :(
Wähle ich dann Datei - Kartenverzeichnisse anwählen und drücke auf das Plus kommen noch folgende Einträge hinzu:
[debug] start thread "map"
[debug] start thread "dem"
[debug] bufferScale QPointF(0.7,-0.7)
[debug] start thread "gis"
[debug] bufferScale QPointF(0.7,-0.7)
[debug] bufferScale QPointF(0.7,-0.7)
[debug] stop thread "dem" after 16 ms
[debug] stop thread "gis" after 16 ms
[debug] stop thread "map" after 16 ms
[debug] Probe device at "C:/" "C:/" "OS"
[debug] Don't know it :(
[debug] Probe device at "D:/" "D:/" "Data"
[debug] Don't know it :(
Danach friert das Programm wieder ein.
Ich habe es auch nochmal als Admin gestartet und im Laufwerk D:\ in einem Pfad ohne Leerzeichen installiert, dass Verhalten bleibt gleich, ebenso mit dem Parameter -c oder nach dem Löschen der Informationen aus der Registry.

Habt Ihr noch eine Idee?

Grüße
Christoph

Edit: die Smilies hat der Editor irgendwie reingebracht. Im Logfile steht natürlich Doppelpunkt + Klammer auf

kiozen
28.04.2016, 09:03
Wenn man nach dem Fehler sucht findet man das hier:

https://bugreports.qt.io/browse/QTBUG-33119

https://bugreports.qt.io/browse/QTBUG-41416

Alles recht schwammig. Die Quintessenz scheint ein Konflikt zwischen verschiedenen Qt Versionen auf dem System zu sein. Allerdings bin ich der Meinung das Helmut vor geraumer Zeit schon beim Starten alle Pfade, die auf andere Qt Versionen verweisen könnten, kappt.

Bleibt noch der Hinweis, dass in der Registry irgendeine Verknüpfung zwischen Applikationsname und Bibliothek erstellt wird. Wenn man den Namen qmapshack.exe in qmapshack2.exe ändert, dann gibt es einen neuen Eintrag und soll wieder funktionieren. Ein Versuch ist es wert. Anhand von qmapshack2.exe kann man dann die Stelle in der Registry finden und zusammen mit dem alten Eintrag löschen.

Wird Microsoft jemals die DLL Hölle in den Griff bekommen?

cklp
29.04.2016, 21:02
Hallo Kiozen,

habe das mit dem Umbenennen mal ausprobiert. Das Verhalten ist gleich. In der Registry habe ich nach qmapshack2 gesucht und einen Eintrag unter
HKEY_USERS\S-1-5-21-1226499479-1309692087-348928589-1178\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
gefunden (ein Eintrag für qmapshack.exe existiert auch). Meines Wissens ist das der Eintrag, mit dem der Dialog mit den "Kompatibilitätsproblem" gesteuert wird.
Allerdings hat er mir diesmal auch angeboten das Programm zu Debuggen (ja, ich habe ein VS auf meinem Rechner). Die Meldung, die er dabei angezeigt hat war
Unhandled exception at 0x0000000076F6EEF1 (ntdll.dll) in qmapshack2.exe: 0xC000041D: Unbehandelte Ausnahme während eines Benutzerrückrufs.
Habe mal im Netz gesucht, aus den Antworten konnte ich mir aber keine Lösung zusammenreimen. Vielleicht hast Du ja noch eine Idee.
Ich werde die nächsten Tage nochmal einen Test mit dem Rechner meines Sohnes machen (Windows 10).

Grüße
Christoph

kiozen
30.04.2016, 07:50
VS bringt nur was, wenn Du QMapSahck auch auf dem PC compiliert hast. Anleitung gäbe es im Wiki.

Starte doch mal zur Vorsicht von der Konsole und mach in der Konsole die Path Variable platt. Ich vermute immer noch einen Konflikt mit irgendeiner anderen QT Installation auf deinem System.

cklp
03.05.2016, 20:20
Hallo kiozen,

ich habe den Tipp ausprobiert, leider mit den gleichen Ergebnis wie bisher.

Grüße
Christoph