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?