Huhu,
Ich habe mir gestern das Quickstart Tutorial durchgelesen! Erstmal ein großes Lob dafür, dass ihr sowas reinstellt und es ermöglicht, sich dadurch Wissen anzueignen!
Vielen Dank!
Ich hab alles schön abgetippt, jedoch ging es nicht und nachdem ich copy und past gemacht habe, kommt leider auch immer nur das leere Fomular!
Das einzige was angezeigt wird, ist die Framerate.
Das mit der INIT Prozedure funktioniert auch nicht!
E2065 Ungenügende Forward- oder External-Deklaration: 'TForm1.Init'
ErrorHandler;// Habe ich gedreht, sonst steht immernur 'NO Error'
Caption:=InttoStr(Frames)+'FPS';//Wird angezeigt!
end;
Done:=false;
end;
procedure TForm1.ErrorHandler;
begin
Form1.Caption:= gluErrorString(glGetError);
end;
end.
Es wäre schön, wenn ihr mir sagen würdet, was ich falsch gemacht habe vieleicht!
Ich habe nicht gleich hier geschrieben, sondern erst gesucht, habe jedoch nichts passendes gefunden!
Schon mal im vorraus vielen Dank!
mfg night
Registriert: Mi Aug 17, 2005 13:19 Beiträge: 98 Wohnort: Jahnsdorf
Der Quelltext für die Init-Prozedur fehlt in deiner Unit im Implementation-Abschnitt. Daher will Delphi das nicht compilieren, weil er nicht weiß, was er dort ausführen soll. Schau einfach noch mal im Tut nach, wo die Init-Prozedur behandelt wird und bau den dort gezeigten Source noch unten in die Unit mit ein. Danach sollte es gehen (mit entsprechender Procedure TForm1.Init )
Danke für deine Antwort, aber ich finde nicht das, was du meinst.
Das einzige was im TUT dazu steht ist:
Außerdem hat man ja hin und wieder auch noch globale Variablen, die man initialisieren möchte. Da wir mit solchen Sachen unser schön aufgeräumtes FormCreate nicht zumüllen wollen bietet sich ein Unterprogramm namens InitGlobals oder kurz Init an. Beide Unterprogramme (SetupGL und Init) sollten am Ende von FormCreate gerufen werden.
Könnest du mir evt eine passende Unit dazu geben, damit ich weiß wie das aufgebaut ist, weil das einzige was bei mir ausgegeben ist, ist das leere graue Formular.
Registriert: Mi Aug 17, 2005 13:19 Beiträge: 98 Wohnort: Jahnsdorf
So, wie ich deinen Source jetzt überfliege, können die von Dir bereits auskommentierten Zeilen 20 und 45 in diesem speziellen Fall entfallen.
Solltest Du z.B. irgendwann einmal zusätzliche Dinge (wie das Laden von Texturen, VBOs oder anderen umfangreicheren Dingen) vorhaben, so müsstest Du aus den Zeilen 20 und 45 die Kommentarzeichen entfernen und dann unterhalb von Procedure TForm1.SetupOpenGL eine Routine wie diese ergänzen:
Code:
procedure TForm1.Init;
begin
//Hier würden dann die zusätzlichen Aufgaben für das Laden deiner Texturen reingehören.
danke, ich habe mir den Crash Kurs durchgelesen. Der war aber mehr zu Delphi, als zu OpenGl....
Ich kapier nur nicht, warum bei mir kein Viereck ausgegeben wird, sondern nur ein graues Formular. Ich hab alles so gemacht, wie im Tut beschrieben wurde....
kann das evt daran liegen, dass ich Delphi 2005 benutze ...
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Ok, ich habe den Fehler gefunden Darf ich klatschen?
Deine FormCreate:
Code:
procedure TForm1.FormCreate(Sender:TObject);
var RC, DC:HDC;
begin
InitOpenGL;
DC:= GetDC(Handle);
Die FormCreate aus dem Tutorial
Code:
procedure TForm1.FormCreate(Sender:TObject);
begin
InitOpenGL;
DC:= GetDC(Handle);
Du hast RC & DC nochmal deklariert...
Dadurch werden nur die Lokalen initialisiert und nicht die aus TForm1, daher geht jeder Aufruf von Swapbuffers(DC) ins Leere.
Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.