Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi OpenGL: DelphiGL-Tutorial-codes machen Probleme (https://www.delphipraxis.net/44362-opengl-delphigl-tutorial-codes-machen-probleme.html)

malo 18. Apr 2005 15:13


OpenGL: DelphiGL-Tutorial-codes machen Probleme
 
Und zwar versuch ich mich grade etwas in die OGL-Materie einzuarbeiten. Dazu hab ich mir das DelphiGL-Tutorial geschnappt. Ich bin grade bei Lektion 1 bei den ersten Codeschnipseln. Hier einmal mein Code (1:1 aus dem Tutorial in Delphi reinkopiert und 1:1 von Delphi hier rein kopiert):

Delphi-Quellcode:
PROGRAM Main;

USES
   Windows,Messages, dglOpenGL;

function WndProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  case (Msg) of
    WM_CREATE:
      begin
        // Hier kann Zeugs rein das beim Programmstart ausgeführt werden soll
      end;
    WM_CLOSE:
      begin
        PostQuitMessage(0);
        Result := 0
      end;
    WM_SIZE:         // Größe anpassen
      begin
        dglOpenGL.glResizeWnd(LOWORD(lParam),HIWORD(lParam));
        Result := 0;
      end;
    else
      Result := DefWindowProc(hWnd, Msg, wParam, lParam);   //  Standard-Behandlung aller anderen Messages
  end;
end;

FUNCTION WinMain(hInstance : HINST; hPrevInstance : HINST;
                 lpCmdLine : PChar; nCmdShow : Integer) : Integer; stdcall;
VAR
  msg : TMsg;
  appStart : DWord;
BEGIN
     Finished := False;

     // Das Programm wird initialisiert (Fenster erstellen!)
    if not glCreateWnd(800, 600, FALSE, 32) THEN
BEGIN;
Result := 0;
          Exit;
     END;

     // Main message loop:
     while not finished do
     begin
          if (PeekMessage(msg, 0, 0, 0, PM_REMOVE)) then
begin
               if (msg.message = WM_QUIT) then finished := True
               else
               begin
TranslateMessage(msg);
                    DispatchMessage(msg);
               end;
          end
          else
          begin
               glDraw();                          // Szene zeichnen
               SwapBuffers(h_DC);                 // Szene ausgeben
          end;
     end;
  glKillWnd(FALSE);
  Result := msg.wParam;
end;

BEGIN
WinMain( hInstance, hPrevInst, CmdLine, CmdShow );
END.
Mal davon ab, dass es mich das kalte Grauen packt, solch einen Code überhaupt kompilieren zu wollen (Ich sehe selten ähnlich schlecht formatierten Code), kommen folgende Fehlermeldungen:

Zitat:

[Fehler] Project3.dpr(20): E2003 Undefinierter Bezeichner: 'glResizeWnd'
[Fehler] Project3.dpr(34): E2003 Undefinierter Bezeichner: 'Finished'
[Fehler] Project3.dpr(37): E2003 Undefinierter Bezeichner: 'glCreateWnd'
[Fehler] Project3.dpr(57): E2003 Undefinierter Bezeichner: 'glDraw'
[Fehler] Project3.dpr(58): E2003 Undefinierter Bezeichner: 'h_DC'
[Fehler] Project3.dpr(61): E2003 Undefinierter Bezeichner: 'glKillWnd'
[Warnung] Project3.dpr(66): W1000 Symbol 'HPrevInst' ist veraltet
[Warnung] Project3.dpr(66): W1002 Symbol 'CmdLine' ist plattformspezifisch
Warum kommt das? Was mach ich falsch?

Phobeus 18. Apr 2005 18:26

Re: OpenGL: DelphiGL-Tutorial-codes machen Probleme
 
Äh... ja, mit dem rauskopieren von zwei Funktionen wird das auch nichts ;) Um es zu beschleunigen, solltest Du Dir einer unserer Templates ansehen: Files->Templates und das Tutorials mehr als Beipackzettel verstehen. Dort findest Du zumindest einige Vorlagen, die lauffähig sind und sicherlich weiterhelfen ;)

malo 18. Apr 2005 18:58

Re: OpenGL: DelphiGL-Tutorial-codes machen Probleme
 
Zitat:

Zitat von Phobeus
Äh... ja, mit dem rauskopieren von zwei Funktionen wird das auch nichts ;) Um es zu beschleunigen, solltest Du Dir einer unserer Templates ansehen: Files->Templates und das Tutorials mehr als Beipackzettel verstehen. Dort findest Du zumindest einige Vorlagen, die lauffähig sind und sicherlich weiterhelfen ;)

Naja, ich finds halt nur *etwas* seltsam, dass in einem Tutorial nicht lauffähige Code-Schnipsel zu finden sind. Eventuell solltest du mal dein Tut überarbeiten bzw. wenigstens erwähnen, dass man mit den Templates arbeiten sollte, damit man den Code auch zu laufen bekommt ;)

Ich verwöhntes Kind bin es nämlich eigentlich gewohnt, dass in einem Tutorial sowas gleich mit erklärt wird :duck:


Naja, danke... :)


PS: Soll jetzt nicht irgendwie falsch ankommen, ich meine das einfach als Tipp, nicht als Nörgelei oder so ;)

Phobeus 19. Apr 2005 09:22

Re: OpenGL: DelphiGL-Tutorial-codes machen Probleme
 
Der Code ist lauffähig ;) Allerdings ist für mich ein vollständiger Code mit einigen Kommentaren ein Source Code und kein Tutorial! ;) Die Tutorials werden demnächst überarbeitet, zwar in eine andere Richtung, aber... schau dann nochmal vorbei ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 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