Autor Beitrag
Pierre
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: So 10.11.02 15:36 
Hallo,
ich habe mir in den FAQs die OpenGL-Beispiele angeschaut.

Dann habe ich folgendes gemacht:
  1. OpenGL-Beispiel-Code (diesen Würfel von Mathias) kopiert.
  2. eine neue Anwendung gestartet (leere!)
  3. den Timer mit reingenommen, da er im Code gebraucht wird.
  4. den Code in die Unit eingefügt.
  5. Programm gestartet (ohne Fehlermeldung)

Ergebnis: Ich sehe nichts, das Fenster bleibt grau!

Danach habe ich ein bestehendes OpenGL-Programm, welches funktioniert (es ist nicht von mir, habe mir den Quellcode aus dem www geholt, genommen, habe dort den o.g. OpenGL-Beispiel-Code eingefügt. Ergebnis: Das Fenster wird innen schwarz und sehe ich den Würfel!

Wo finde ich die Einstellung, die bei dem selben Code das Fenster für OpenGL benutzbar macht?

Vielen Dank
Gruß Pierre
Ex0rzist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 550

Win XP Prof.
Mandrake 10.0

D6
BeitragVerfasst: Mo 11.11.02 13:31 
Hallo Pierre,

poste doch mal bitte deinen Code.
Manchmal sind es nur kleine Sachen, die man vergessen hat. :wink:

_________________
If accidentally read, induce vomitting.
Mr_T
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73

Win XP, Fedora Core RC 1

BeitragVerfasst: Mo 11.11.02 19:09 
Hi

Ich glaube ich habe was verpasst (war lange nicht im Forum):
Was ist der Code von Mathias? würde mich echt interissieren .....

Gründe für ein Graues Fenster habe ich bislang selber nur einen zu Spüren bekommen: hatte vergessen, bei jedem Timerdurchlauf neu zu rendern... glaube aber nicht, das das dein Prob ist, da du den Timer ja drinne Hast (und somit seine Funktion wahrscheinlich auch) ... dennoch würde ich den Code gerne sehen .... vielleicht findet sich was anderes............
Mr_T
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73

Win XP, Fedora Core RC 1

BeitragVerfasst: Mo 11.11.02 19:14 
Ach sorry war ja in den FAQ :oops:
Pierre Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Di 12.11.02 13:38 
Titel: meine Code
Hallo,
mein Code ist genau der aus dem Beispiel "Wie benutze ich OpenGL mit Delphi" in dem FAQs Multimedia/Spiele/Grafik von Mathias. Dieser Code läßt einen drehenden Würfel erscheinen.

Ich habe folgendes gemacht:
  1. genau dieses Beispiel in die Zwischenablage kopiert.
  2. eine neue Anwendung in Delphi gestartet
  3. einen Timer eingesetzt
  4. den Code aus der Zwichenablage eingefügt. Keine Fehlermeldung, aber auch kein Würfel.
  5. ein OpenGL-Programm, welches bei mir läuft, aufgerufen den Prg.Code gelöscht und aus der Zwischenablage den o.g. Code - ohne Änderungen - eingefügt. Läuft, ich sehe den Würfel.

D.h., der selbe Code läuft bei mir einmal ja und einmal nein. Ich habe von OnlineGL mir einige Beispiele runtergeladen, alle laufen! Nur wenn ich eine eigene neue Anwendung in Delphi starte, egal ob ich eigenen Code oder fremden (getesteten) Code benutze, läuft nichts, es gibt aber auch keine Fehlermeldung. Wenn ich meinen eigenen Code in eine fremde Anwendung hineinkopiere, läuft dieser auch. Ich kann nur keine eigenen neuen Anwendungen in Delphi erschaffen, ich muß immer auf bestehende Fenster und Units zurückgreifen, muß halt dort meinen Code hineinkopieren.

Vielleicht habe ich die falschen OpenGL-Dateien? Ich habe in Delphi\Lib folgende Dateien: GL,GLext,GLU,GLUT jeweils als dcu und pas in WIN\System habe ich eine OpenGL32.dll mehr habe ich nicht.

Was benutze ich bei fremden Programmen mit, wenn ich nur meinen Code in die Unit hineinkopiere? Da sind ja einige andere Delphi-Dateien, schafft deren Inhalt, die OpenGL-Darstellung im Fenster?

Mein Fenster bleibt immer grau. Fremde Fenster werden schwarz und stellen dann etwas da. Stelle ich dort nichts da, werden sie auf jeden
Fall schwarz.

Wo ist mein Problem?
Gruß Pierre
Mr_T
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73

Win XP, Fedora Core RC 1

BeitragVerfasst: Di 12.11.02 15:19 
Klingt merkwürdig....
Auf welches Intervall ist dein Timer denn eingestellt?
*verzeweifelt nach möglichen Fehlern such*

_________________
Es gibt 10 Arten Binäre Zahlen zu interpretieren: 0 und 1
Wer nicht kämpft, hat schon verloren!


Zuletzt bearbeitet von Mr_T am Di 12.11.02 15:22, insgesamt 1-mal bearbeitet
Pierre Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Mi 13.11.02 10:11 
Titel: Timer
Hallo,
der Timer ist auf eine Sekunde eingestellt.

Kann mir jemand mal schreiben, was für OpenGL-Dateien er in Delphi\Lib und in Win\System hat? Meine Dateien, welche ich habe, habe ich oben aufgeführt. Vielleicht habe ich ja nicht die richtigen OpenGL-Dateien.
Gruß Pierre
Mr_T
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73

Win XP, Fedora Core RC 1

BeitragVerfasst: Mi 13.11.02 15:17 
Titel: Re: Timer
Pierre hat folgendes geschrieben:

Der Timer ist auf eine Sekunde eingestellt.


Böse Falle ... wenn du mit dem timer renderst und ihn nur auf eine Secunde einstelst, kannst du zunächst auch nichts sehen! Du renderst ja blos 1x in der Secunde (dein Progie bringt so höchstens 1 FPS) .... und er beginnt erst nach kurzer zeit zu rendern .... der normale Timer ist zwar in der Realität nicht dazu in der lage, schneller als 50ms zu gehen (=20 Frames) aber kannst ja mal das Intervall auf diese 50 ms schalten... ich glaube dann sieht die Welt schon ganz anders aus...... :D

_________________
Es gibt 10 Arten Binäre Zahlen zu interpretieren: 0 und 1
Wer nicht kämpft, hat schon verloren!
Pierre Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Do 14.11.02 12:47 
Titel: Timer auf 50ms eingestellt
Hallo,
ich habe den Timer jetzt auf 50ms eingestellt. Es hilft noch nicht. Der Timer in der lauffähigen Programmversion ist auf eine Sekunde eingestellt, und ich sehe den Würfel.

Noch einmal zum Verständnis:
Ich habe dieses Beispielprogramm einmal in eine eigene Anwendung kopiert und einmal in eine fremde Anwendung, deren Inhalt ich in der Unit vorher gelöscht habe. Mein Programm läuft nicht und das "fremde" Prorgramm läuft. Beide Units sind identisch und enthalten nur den Beispiel-Code.

Ich habe mir eine OpenGL12.pas und damit verbunden eine Geometry Types.pas gedownloadet (liegen beide in Delphi\lib), hilft jedoch auch nicht. Soll ich alles noch einmal installieren? Ich meine auch Delphi. Ich mußte Deplhi noch nie neu installieren, es lief immer. Wo ist mein Problem? Es kann doch nicht sein, dass ich alles, was ich in OpenGl machen will, in eine fremde leere Anwendung programmieren muß, damit meine Programme laufen.

Hilfe!
Gruß Pierre
Mr_T
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73

Win XP, Fedora Core RC 1

BeitragVerfasst: Do 14.11.02 20:58 
Könntest du eventuell deinen Unit - Code hier mal Posten? So aus der ferne lässt sich der Fehler nicht gut finden......

_________________
Es gibt 10 Arten Binäre Zahlen zu interpretieren: 0 und 1
Wer nicht kämpft, hat schon verloren!
Sledge_Hammer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32

Win 98 SE, Win XP
D7 Prof
BeitragVerfasst: Fr 15.11.02 21:57 
Moin
Ich hab das gleiche Problem wie Pierre. Ich dachte es liegt an meiner Delphi-Version (6.0 Personal), aber offensichtlich klappt es ja bei anderen auch nicht. Auf jeden Fall bin ich auch interessiert an der Lösung des Problems, zumal ich noch keine Ahnung von OpenGl habe.
MfG Benni
Mr_T
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73

Win XP, Fedora Core RC 1

BeitragVerfasst: Sa 16.11.02 10:12 
Wie gesagt: es wäre gut, wenn ihr irgendwo euren source uppen könnt, so das amn gezielt nach Fehlern suchen kann... eine Ferndiagnose ist immer schwierig......

_________________
Es gibt 10 Arten Binäre Zahlen zu interpretieren: 0 und 1
Wer nicht kämpft, hat schon verloren!
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Sa 16.11.02 19:44 
Hi :)

also... ich kann mir das ganze nur so erklären:

Du hast einen Timer auf das Form gepackt, gut.. :) abre, hast du dem Timer auch das TimerEvent zugewiesen?? (Denn wenn du das event einfach in den Quellcode kopiert hast, mußt du es dem Timer trotzdem nochmal manuell zuweisen), dasselbe auch mit dem OnCreate und allen anderen proceduren.. mußt du alle nochmal von hand zuweisen.

Au'revoir,
Aya
Pierre Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: So 17.11.02 18:52 
Titel: mein Code zum Downloaden
Hallo,
1. hier ist der Code zum Downloaden,
die Projekt 1 ist meine exe.
Kann mir wer sagen, ob die exe von mir bei Euch läuft oder ob sie erst läuft, wenn Ihr sie compiliert habt.
[url]www.delphi-roboter.de/zip/code.zip[/url]
Die txt ist das Würfelbeispiel aus den FAQs.
2. Die Timereinbindung werde ich prüfen.
Vielen Dank.
Gruß Pierre
Mr_T
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73

Win XP, Fedora Core RC 1

BeitragVerfasst: So 17.11.02 19:30 
Ok .. Prblem erkannt und behoben:
1) Stell den Timer mal auf "1)
2) Bei "ONTimer" musst du auch das Ontimer-Event aus der Dropdownliste wählen
3) Punkt 2 gillt auch für "Form.Onreate", "Form.OnRezise", "Form.OnDestroy" und "Form.OnPaint"

Das Resultat ist ein netter kleiner sich drehender Würfel

_________________
Es gibt 10 Arten Binäre Zahlen zu interpretieren: 0 und 1
Wer nicht kämpft, hat schon verloren!
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: So 17.11.02 19:33 
mhh... hab ich nich genau das gesagt gehabt? :) (Sogar ohne das Programm zu sehen *g*)
Mr_T
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73

Win XP, Fedora Core RC 1

BeitragVerfasst: So 17.11.02 21:16 
Stimmt, das hast du ... ich selber war baer davon ausgegangen, das es ein anderer Fehler sein musste (da er oben ja gemeint hätte, er hätte den Timer eingesetzt aufs Formular gesetzt .... daher war ich auch davon ausgegangen, er hätte alles verknüpft)....
aber recht hattest du im Endeffekt....

_________________
Es gibt 10 Arten Binäre Zahlen zu interpretieren: 0 und 1
Wer nicht kämpft, hat schon verloren!
Sledge_Hammer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32

Win 98 SE, Win XP
D7 Prof
BeitragVerfasst: Mo 18.11.02 21:16 
Moin
hab das mal ausprobiert mit den events aus der listes auswählen. funzt astrein. vielen dank!!!
Benni
Pierre Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138

Win 98se und XP prof
D5Pers und D7Prof
BeitragVerfasst: Do 21.11.02 20:32 
Titel: vielen Dank !
Hallo,
auch wenn ich nicht gleich verstanden habe, was Ihr mit der
Einbindung des Timers meintet, läuft es jetzt bei mir auch!
Vielen Dank!
Gruß Pierre