AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Opengl - Ratlos -

Ein Thema von Mr.borland · begonnen am 12. Okt 2007 · letzter Beitrag vom 12. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
Mr.borland

Registriert seit: 16. Mai 2007
Ort: Plüderhausen
34 Beiträge
 
#1

Opengl - Ratlos -

  Alt 12. Okt 2007, 11:17
hallo,

vieleicht könnt ihr mir helfen. ich programiere in Delphi 2006 und habe folgendes rätzelhaftes problem.

also, ich habe eine formular (FormOpenGl.pas und dfm) auf dem zwei panels sind. auf dem einen ist meine 3d navigations komponenten und auf dem anderen mein OpenGl zeichen fenster. so weit so gut; nun beim aufruf dieses formulars von meiner Hauptformular passiert was ich mir nicht erklären kann.

1. es funktioniert wenn das formular automatisch erzeugt wurde. dies hat aber dann den nachteil, das zwei fenster offen sind; das Hauptformular und das Openglformular.
hier mein auf ruf:

Delphi-Quellcode:
   // das Formular wird automatisch erzeugt
   FormOpenGl.Show;

2. das formular ist in der Liste der Verfügbaren Formulare; und es funktioniert nicht
hier mein auf ruf:
Delphi-Quellcode:
  FormOpenGl := TFormOpenGl.Create(self);
  FormOpenGl.Parent := Self;
  FormOpenGl.Align := alClient;
  FormOpenGl.Visible := true;
beim debugen sind alle parameter in beiden fällen identisch. doch im Fall 2 wird nicht gezeichnet abwohl die funktionen wie im fall 1 auch durchlaufen werden.

rcPointer : HGLRC; // Rendering Context
dcPointer : HDC; // Device Context
die wichtigsten zwei variablen ... haben nach der initialisierung auch in beiden fällen die gleichen werte.
was mache ich falsch, habe ich ein irgend eine einstellung übersehen ???

please help me.
thanks.
  Mit Zitat antworten Zitat
12. Okt 2007, 11:30
Dieses Thema wurde von "Matze" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Multimedia" verschoben.
Das ist kein Beitrag für die Code-Library.
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#3

Re: Opengl - Ratlos -

  Alt 12. Okt 2007, 11:40
Wer ist "Self" ? Versuche mal Application als Owner zu übergeben.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#4

Re: Opengl - Ratlos -

  Alt 12. Okt 2007, 11:42
...und nicht als Parent des Forms zu setzen...
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#5

Re: Opengl - Ratlos -

  Alt 12. Okt 2007, 11:59
.. und nicht den Header von Borland benutzen, sondern den hier
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Mr.borland

Registriert seit: 16. Mai 2007
Ort: Plüderhausen
34 Beiträge
 
#6

Re: Opengl - Ratlos -

  Alt 12. Okt 2007, 12:20
"self" ist mein Hautformular; also übergibt das Hauptformular ein zeiger auf sich selber... ?!

...habe es probiert mit "application" mit "nil" als übergabe parameter; es funktioniert nicht
  Mit Zitat antworten Zitat
Mr.borland

Registriert seit: 16. Mai 2007
Ort: Plüderhausen
34 Beiträge
 
#7

Re: Opengl - Ratlos -

  Alt 12. Okt 2007, 12:22
... auch habe ich es mit dlgOpengl.pas probiert und es funktioniert auch nicht.
zum verzweifeln ist das.
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#8

Re: Opengl - Ratlos -

  Alt 12. Okt 2007, 13:29
Wann erstellst Du im GLFenster den Rendering Context? Hier ist es nämlich unbedingt wichtig, dass die Komponente, auf der er erstellt wird bereits ein Windowshandle hat. Bei RC auf Formularen spielt das eine untergeordnete Rolle, weil diese ihr Handle im Konstruktor kriegen. Panels hingegen kriegen den erst, wenn sie das erste mal sichtbar werden. Probier mal folgendes: Mach Dir einen Nachfolger vom TCustomPanel und überschreib dort die Methode CreateWnd. In dieser überschriebenen legst Du dann den RC an.
Nachtrag: Im DGLSDK gibt es auch ein Template mit RC auf einem Panel. Schau Dir das doch auch mal an.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Gandalfus

Registriert seit: 19. Apr 2003
407 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Opengl - Ratlos -

  Alt 12. Okt 2007, 14:06
CreateNew
Besucht doch mal meine Homepage
  Mit Zitat antworten Zitat
Mr.borland

Registriert seit: 16. Mai 2007
Ort: Plüderhausen
34 Beiträge
 
#10

Re: Opengl - Ratlos -

  Alt 12. Okt 2007, 14:18
Zitat:
Wann erstellst Du im GLFenster den Rendering Context? Hier ist es nämlich unbedingt wichtig, dass die Komponente, auf der er erstellt wird bereits ein Windowshandle hat. Bei RC auf Formularen spielt das eine untergeordnete Rolle, weil diese ihr Handle im Konstruktor kriegen. Panels hingegen kriegen den erst, wenn sie das erste mal sichtbar werden. Probier mal folgendes: Mach Dir einen Nachfolger vom TCustomPanel und überschreib dort die Methode CreateWnd. In dieser überschriebenen legst Du dann den RC an.
Nachtrag: Im DGLSDK gibt es auch ein Template mit RC auf einem Panel. Schau Dir das doch auch mal an.

Du hast recht. genau das ist der Fehler. ich habe mein Rendering Context naturlich im OnCreate des GLFensters gesetzt .. mit der hoffnung ich mach ja nichts falsch. Nun, ich habe eine Methode die OnShow des GLFensters aufgerufen wird für die Initialisierung der Opengl Rendering Context.
ist nicht das eleganteste aber es funktioniert. Danke.

Vielleicht ein ergänzung: es macht kein unterschied ob man ein Panel oder das Formular selbst als Rendering Context benutzt.der fehler tritt in deiden fällen auf. das ist mir aufgefallen.


danke Sidorion, danke an alle.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:51 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