@rollstuhlfahrer: Vielen Dank für die Änderungen, die meisten davon sind sinnvoll und teilweise bügeln sie auch Fehler aus, die sich eingeschlichen haben als ich größere Sachen an der
Unit verändert habe (z.B. bei GLSurface die noch deklarierte BitMap etc.).
Jetzt weiß ich auch warum das bei mir mit der virtuellen Methode nicht funktioniert hat, weil ich das abstract vergessen hatte...
Nur bei einer Änderung bin ich der Meinung das sie überflüssig ist, nämlich bei der Prozedur FreeGL, dort hast du folgendes hinzugefügt:
Delphi-Quellcode:
procedure FreeGL;
if AppHandle = 0 then // Änderung!
Exit;
Allerdings wird die Prozedur gar nicht aufgerufen, wenn AppHandle = 0 ist, aufgrund folgenden Codes:
Delphi-Quellcode:
finalization
if AppHandle > 0 then
FreeGL;