AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein EExternalException -> Meldung Externe Exception C000001D
Thema durchsuchen
Ansicht
Themen-Optionen

EExternalException -> Meldung Externe Exception C000001D

Ein Thema von I.A · begonnen am 24. Mär 2009
Antwort Antwort
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#1

EExternalException -> Meldung Externe Exception C000001D

  Alt 24. Mär 2009, 17:11
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz