Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#30

AW: Easy3DGL - Eine Bibliothek für OpenGL

  Alt 27. Mai 2011, 13:30
Ich hab die AV gefunden: In der TransparentList ist an Position 1 (bei mir) ein schon aus dem Speicher genommenes Objekt, welches fälschlicherweise von Assigned als existent erachtet wird. Jetzt nur noch schauen, wo das Objekt gelöscht wird.

Bernhard

ADD: AV entgültig gefunden: Bei mir wurde ein GLLicht erstellt. Dieses wurde zu der genannten Liste hinzugefügt. Leider wurde dieses Licht vorher bei den Lichtern aus dem Speicher genommen und ist somit nicht mehr da. Dann soll es allerdings wieder aus dem Speicher genommen werden und dann knallt der nächste Zugriff (das war bei mir die Abfrage nach dem Klassenname).

ADD2: Was mir noch auffällt: Meine Objekte sind alle DOPPELT in der Liste, sie werden also auch 2x gezeichnet. Was machen die da doppelt drin?
ADD3: Warum die alle doppelt drin sind? - Das liegt an den Konstuktoren: In GLQuader (Beispiel) wird das Material gesetzt. Dann wird über inherited der Konstruktor von GLObject aufgerufen und dort gleich nochmal das Material gesetzt. -> macht 2 Listeneinträge, von denen einer zu viel ist.

ADD4: Ich habe mal eine geänderte Version hochgeladen (für Delphi ohne Umlaute). Alles, was ich geändert habe, habe ich mit "Änderung" versehen. Teilweise stehen auch die Gründe direkt dabei.
Angehängte Dateien
Dateityp: pas Easy3DGL.pas (45,0 KB, 28x aufgerufen)
Bernhard
Iliacos intra muros peccatur et extra!

Geändert von rollstuhlfahrer (27. Mai 2011 um 13:49 Uhr) Grund: geänderte Datei angehängt
  Mit Zitat antworten Zitat