mikrocontroller.net

Forum: PC-Programmierung MFC: Programm mit grafischer Ausgabe: Probleme unter Win XP


Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ein seltsames Problem hier: Wir haben eine etwas ältere Software, mit 
MFC geschrieben, noch unter Visual Studio 6. Die Software spricht unsere 
PCI-Karten an, die Ultraschallmessungen machen. Die Daten werden 
visualisiert (sehr rudimentäre Ausgabe mit LineTo() usw.)

Unter Windows 2000 ist alles OK, Wiederholrate der Anzeige spielt keine 
Rolle, Programm läuft seit Jahren fehlerfrei.

Nur bei XP gehts los: Wenn man an der Maus wackelt, über den 
Dialogboxen, die die Anzeige beinhalten, dann dauert es einige Sekunden, 
und die Anzeige bleibt stehn. Die Messung, also der Rest des Programmes 
im Hintergrund läuft weiter. Nur wir die Anzeige nicht mehr 
aktualisiert. Klickt man gar auf eine Titelleiste des Anzeigefensters, 
friert die Anzeige sofort ein. Es kommt keine Fehlermeldung, einfach 
keine Aktualisierung mehr, und das Programm läuft im Hintergrund normal 
weiter.

Je schneller man die Anzeigefenster aktualisieren will, desto schneller 
schmiert die Anzeige ab.

Was ist denn da gegenüber dem Windows 2000 anders? Liegt es am 
geänderten Scheduler-Intervall? Hat jemand schon mal sowas gehabt?

Danke im Voraus.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Läuft die Anwendung, wenn Kompatibilitätseinstellungen verwendet werden?
Wie sieht's mit der Freigabe von GDI-Objekten aus?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Schreiben des Beitrags fiel mir der Kompatibilitätsmodus auch ein. 
Und ja: Da läufts! Komisch.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei sich die Frage stellt: Was ist da anders? Wieso schmiert das unter 
XP ab? Weiß das jemand? Der Kompatibilitätsmodus ist ja keine dauerhafte 
Lösung.

Autor: Samuel Streiner (samstre)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Visual Studio 6 hat die Version 6.0 (mfc42.dll) von MFC mit dabei und 
Visual Studio 2005 hat die Version 8.0 (mfc80.dll)...

Wenn der Sourcecode verfügbar ist, würde ich einfach das ganze Projekt 
nochmal neu kompilieren (mit ner neueren Version von Visual Studio). 
Ansonsten könnte man unter umständen die alte dll von mfc verwenden...

^^
Ich weiß zwar im moment nicht genau, wie das geht (ich glaub, man 
kopiert die dll einfach in das Programmverzeichniss), aber das lässt 
sich sicher irgendwo herausfinden... (msdn?)

Ansonsten ist eigendlich gegnen den Kompatibilitätsmodus nichts 
einzuwenden... der wird warscheinlich auch nicht viel was anderes machen 
;)

lg samstre


hmmm... obwohl xp sollte eigendlich auch die mfc42.dll mitbringen?!?! 
ich würds einfach nochmal kompilieren?!?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.