Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   EExternalException -> Meldung Externe Exception C000001D (https://www.delphipraxis.net/131415-eexternalexception-meldung-externe-exception-c000001d.html)

I.A 24. Mär 2009 17:11


EExternalException -> Meldung Externe Exception C000001D
 
Hallo!

Hab mir mal OpenGL reingezogen und habe beim ersten Test der Formulartemplate, von der in der Wiki die Rede ist die genannte Exception erhalten.

Unter Google hab ich "OpenGL Handbuch" ohne die Anführungszeichen als Suchbegriff verwendet und dann die "Hauptseite - DGL Wiki" aufgerufen.

Nach Download der "OpenGL 1.5 Template (VCL)" habe ich mir im Projektordner ein Directory namens OpenGL angelegt und alle Dateien und Unterordner da reinkopiert, wobei ich die Verzeichnisstruktur beim Original belassen habe. In der IDE habe ich die Suchpfade angepasst.

In der IDE erscheint nach Drücken "F9" ein :

Dialog mit Frage Anhalten oder fortsetzen

Fortsetzen zeigt das Hauptdenster mit 2 gleich großen Panels an.

Dennoch kommt zunächst die besagte Exception. Warum?

Ist es sinnvoll, eine frühere Version als 1.5 zu verwenden?

Delphi-Quellcode:
procedure TForm1.StartGL;
begin;
    //Rendering Context initialisieren
    RC1 := wglCreateContext(v1DC);
    RC2 := wglCreateContext(v2DC);

    // Überprüfen, ob beide RCs erzeugt werden konnten
    if (RC1=0) or (RC2=0) then
    begin
      MessageDlg('Rendering Context kann nicht erstellt werden.', mtError, [mbOk], 0);
      Halt(100)
    end;

    // Überprüfen, ob beide RCs aktiviert werden konnten.
    //UND HIER KOMMT DIE EXCEPTION
    //Warum erst hier, falls einer der Gerätekontexte
    //nicht erzeugt werden konnte?
    if (not wglMakeCurrent(v1DC, RC1)) or (not wglMakeCurrent(v2DC, RC2)) then
    begin
      MessageDlg('Rendering Context kann nicht aktiviert werden.', mtError, [mbOk], 0);
      Halt(100)
    end
end;
Was macht die Funktion wglMakeCurrent()?

Ich habe mir das OpenGL12.zip Paket hier:

http://www.inf.tu-dresden.de/content...ENGL/index.htm

und template_vcl_2rc runter geladen und zwar hier:

http://www.delphigl.com/forum/viewtopic.php?t=7616

Ich verwende Turbo Delphi. Leider habe ich den Dialog noch nicht gefunden, wo ich "Bei Exceptions anhalten" aus schalten kann. So erscheint bei Start des Projektes außerhalb der IDE die Meldung über die Exception. Wenn ich dieses Meldungsfeenster schließe, kriege ich mein Fenster aber zu sehen mit 2 Panels drauf.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz