OGL: Immernoch komische Exceptions unter Win98



  • Ich habe schon vor längerer Zeit hier gepostet weil ich Probleme mit OpenGL in einer MFC Dialog Anwendung unter Win98 habe.
    Mein Problem:
    Wie realisiere ich den Main-Loop ?
    Meine Rendering Funktion wird aus OnPaint aufgerufen. Und OnPaint wird in der Regel nur aufgerufen, wenn man das Fenster verschiebt oder sonstwas - Halt dann wenn Windows eine Neuzeichnung für "gerechtfertigt" hält 😃
    Damit meine Rendering-Funktion aber permanent läuft, habe ich einen Timer gesetzt der alle 50 Millisekunden die Funktion OnPaint aufruft.
    Unter Win2000 und NT ist das kein Problem, aber unter Win98 seh ich beim Debug in der Ausgabezeile von Visual Studio lauter "GDI.dll Exception at 0x000000"
    die bei jedem Aufruf von OnPaint entstehen.
    Was stört Win98 an meinem Timer ?
    Wie macht man am besten den Main-Loop bei einem MFC Dialog ? 😕



  • hi

    versuch doch mal an statt die OnPaint Methode aufzurufen einfach eine Nachricht mit SendMessage deiner Anwendung zu schicken. Die Nachricht sollte dann schon eine ich glaube mal WM_PAINT Message sein. Bin mir aber nicht sicher ob das funzt.





  • Wenn ich mich richtig erinnere kannst du das Neuzeichnen auch erzwingen, indem du den Fensterinhalt per InvalidateWindow oder so ähnlich ungültig machst. Dann ruft WIndows OnPaint selbst auf.



  • Hmm, invalidate nützt nichts. 🙄
    Was komisch ist, ist die Tatsache das die Exceptions scheinbar zufällig auftreten. Ich starte die Anwendung und bekomm keinen Fehler. Beim nächsten start isser wieder da und dannach auch. 😕
    Vielleicht sollte ich mich einfach damit abfinden, das Win98 schrott ist 😞


Anmelden zum Antworten