Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

06.11.2007, 22:25

Räum mal deinen Code auf:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "stdafx.h"

LPDIRECT3D9       g_pD3D       = NULL;
LPDIRECT3DDEVICE9 g_pd3dDevice = NULL;

#pragma comment(lib, "gdi32.lib")
#pragma comment(lib, "user32.lib")

LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM);
void init(HWND const&);
void exit();
void render();

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int nCmdShow)
{
    WNDCLASSEX wcex = {}
    wcex.lpszClassName  = TEXT("MY_WINDOWS_CLASS");
    wcex.cbSize         = sizeof(WNDCLASSEX);
    wcex.lpfnWndProc    = WindowProc;
    wcex.hInstance      = hInstance;
    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground  = reinterpret_cast<HBRUSH>(GetStockObject(BLACK_BRUSH));
   
    if (RegisterClassEx(&wcex) == 0 )
        return E_FAIL;

    HWND hWnd = CreateWindowEx(0, TEXT("MY_WINDOWS_CLASS"), TEXT("Direct3D (DX9) - Full Screen"), WS_OVERLAPPED | WS_VISIBLE, 0, 0, 640, 480, NULL, NULL, hInstance, NULL);

    if (hWnd == NULL )
        return E_FAIL;

    init(hWnd);
    
    MSG msg = {};
    while (msg.message != WM_QUIT)
    {
        if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        else
            render();
    }
    exit();
    return static_cast<int>(msg.wParam);
}

void init(HWND const& hWnd)
{
   // ...
usw. ... das kannst du doch besser, oder? Hab da jetzt nicht viel verändert ... da kann noch einiges weg bzw. anders gemacht werden!
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

12

07.11.2007, 14:20

ich programmier noch nicht sehr lange mit winapis und kenn mich da noch nicht ganz so aus.
Was soll denn das Aufräumen des Codes bringen??? ich hab den aus meinem Buch übernommen und da ich mich noch nicht so gut auskenne weiß ich nicht wie ich den Code aufräumen soll...
Wenn du/jemand weiß was der Fehler von mir ist, dann weist mich bitte drauf hin und macht nicht so ungenaue Andeutungen, wie gesagt ich programmier erst seit kurzem mit windows anwendungen.

Auf jedenfall schonmal danke! hier bekommt man schnell hilfreiche Antworten, dass find ich gut.

MFG

13

07.01.2008, 17:32

hast du immernoch das Problem? ich kann dir gerne helfen...
Dave Matthews Band ROCKT !!!

www.davematthewsband.com

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

14

08.01.2008, 17:57

Zitat von »"amida maru"«

hast du immernoch das Problem? ich kann dir gerne helfen...

Falls Ja:
Hier mal eine Auflistung von allem, das du falsch gemacht hast (und von fehlerhaften Post's;))
1. Du darfst auf WM_CLOSE nicht mit PostQuitMessage reagieren, sonst wird dein Fenster nicht geschlossen. Wenn du diese Nachricht unbedingt behandeln willst, dann musst du dort DestroyWindow(hWnd) aufrufen.
2. Die Warnung beim zurückliefern von wParam ist normal. Du kannst sie einfach ignorieren oder (int) davor schreiben.
3. @Deviloper: Gdi32.lib und Kernel32.lib sind (in Visual Studio) schon automatisch eingebunden.
4. Der Fehler beim laden des Icons (LoadIcon(...)) liegt daran, dass dieses Icon nicht erstellt, bzw. die Resourcendatei (resource.h) nichteingebunden wurde
...

Ich empfehle dir unbedingt dich ein wenig(oder auch mehr) mit WinApi zu beschäftigen.
Signaturen werden überbewertet

Werbeanzeige