Registriert: Mo Okt 15, 2007 18:30 Beiträge: 74 Wohnort: Berlin
Hallo zusammen,
ich programmiere üblicherweise unter Windows XP. Nun habe ich kürzlich eines meiner Programme auf Windows Vista laufen lassen, und bekam einen OpenGL fehler 1282 beim Programmstart (hatte versehentlich die Fehlerabfrage drin gelassen, nutze sie eigentlich nur zum Debuggen). Anschließend lief das Programm rund, keine weiteren Fehler. Ich nehme an irgendwas ist bei der Initialisierung schief gelaufen. Doch warum ausgerechnet unter Vista, aber nicht unter XP?
Hat jemand ähnliche Erfahrungen bzw. weiß woran es liegen könnte?
Fehler 1282 heißt 0x0502....also GL_INVALID_OPERATION
Also vermutlich machst du irgendwas was der Treiber unter Vista nicht kann, unter XP aber wohl.
Ohne zu wissen welche Anweisung diesen Fehler auslöst kann dir hier wahrscheinlich niemand helfen.
Also:
Schreibe dir ne Funktion die die Fehlerabfrage macht. Nun versuche die Stelle zu finden wo der Fehler auftritt. Setze dazu deine Fehler-Funktion zunächst an den Anfang und ans Ende jeder wichtigen Methode. So wirst du die schnell die Methode finden in der der Fehler auftritt. Als nächstes setzt du die Abfrage alle paar Zeilen ein, im nächsten Durchgang dann jede Zeile. Damit hast du die Stelle.
Du kannt natürlich auch den Delphi-Debugger nutzen, falls damit sowas möglich ist.
Registriert: Mo Okt 15, 2007 18:30 Beiträge: 74 Wohnort: Berlin
Ja danke, das Programm funktioniert ja ansonsten uneingeschränkt. Und wenn ich den Fehler nach der Initialisierung einmal auslese und nicht anzeige stört sich daran auch niemand, weil im nachhinein tritt der fehler nie wieder auf.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Wann ist denn bei dir nach dem Initialisieren?
Denn eigentlich hat es wohl einen Grund, dass es da zu einem Fehler kommt. Also irgendetwas was du oder der Header machen wollstest hat nicht geklappt. Wenn es dort etwas im Header ist, dann würde mich das interessieren. Und je nachdem wann bei dir "nach dem Initialisieren" ist sollte dich das vielleicht auch interessieren. Wenn es nach dem Laden der Texturen/Shader etc ist dann kann das ignorieren gut dazu führen, dass irgendwann mal Texturen oder Shader nicht richtig funktionen. Und keiner merkt etwas. Ist es direkt nach dem Erstellen des Kontextes mag es wohl okay sein.
PS: Ich persönlich finde die Fehlerprüfung ist nicht nur fürs Debuggen wichtig. Sondern eigentlich immer. Mal kann immer mal einen Treiber erwischen der was anders macht. Oder falls Technologien benutzt werden die nicht unterstützt werden. Aber das ist nur meine persönliche Meinung.
Mitglieder in diesem Forum: Bing [Bot] und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.