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
Anonymous
unregistriert
Quellcode |
|
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 |
#include <fstream> #include <stdio.h> #include <stdarg.h> #include <string> #include <math.h> #include <Windows.h> #include <StdIO.h> #include <Sys\\Stat.h> #include <Math.h> #include <D3D9.h> #include <D3DX9.h> #include <DXErr9.h> using namespace std; ///////////////////////////////////////////////////////////////// // Statuswerte enum ddResult { DD_OK = 0, DD_ERROR = 1, }; //Klasse class DayDreamer{ private: //Variablen static DayDreamer *m_pInstance; //Zeiger auf einzige Instanz der Klasse static HWND m_hWindow; //Handle für Fenster private: //Konstruktor DayDreamer(); public: //Methoden, Destruktor virtual ~DayDreamer(); inline static DayDreamer* Instance(){if(m_pInstance == 0) m_pInstance = new DayDreamer(); return m_pInstance;} //Zeiger auf einzige Instanz zurückgeben //Fensterfunktionen InitWindow(int iWidth, int iHeight, char* pcName, HICON hIcon); ExitWindow(); LRESULT WINAPI WindowProc(HWND hWindow, unsigned int uiMessage, WPARAM WParam, LPARAM LParam); }; |
Quellcode |
|
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 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#include <DayDreamer.h> //Initialisieren des Fensters DayDreamer::InitWindow(int iWidth, int iHeight, char* pcName, HICON hIcon) { // Fensterklassenstruktur ausfüllen WNDCLASSEX WindowClass = {sizeof(WNDCLASSEX), CS_CLASSDC, WindowProc, 0, 0,//Hier Fehler GetModuleHandle(NULL), hIcon, NULL, NULL, NULL, "Direct3D window", NULL}; // Klasse registrieren RegisterClassEx(&WindowClass) // Fenster erstellen und prüfen m_hWindow = CreateWindow("Direct3D window", pcName, WS_VISIBLE | WS_OVERLAPPEDWINDOW, GetSystemMetrics(SM_CXSCREEN) / 2 - iWidth / 2, GetSystemMetrics(SM_CYSCREEN) / 2 - iHeight / 2, iWidth, iHeight, NULL, NULL, GetModuleHandle(NULL), NULL); } //Herunterfahren DayDreamer::ExitWindow() { // Klasse löschen UnregisterClass("Direct3D window", GetModuleHandle(NULL)); } //////////////////////////////////////////////////////////////////////// // Die Nachrichtenfunktion des Fensters LRESULT WINAPI DayDreamer::WindowProc(HWND hWindow, unsigned int uiMessage, WPARAM WParam, LPARAM LParam) { PAINTSTRUCT Paint; switch(uiMessage) { case WM_CREATE: break; case WM_PAINT: // Das Fenster mit Schwarz füllen BeginPaint(hWindow, &Paint); FillRect(Paint.hdc, &Paint.rcPaint, (HBRUSH)(GetStockObject(BLACK_BRUSH))); EndPaint(hWindow, &Paint); break; case WM_CLOSE: DestroyWindow(hWindow); PostQuitMessage(0); break; default: return DefWindowProc(hWindow, uiMessage, WParam, LParam); } return TRUE; } |
Zitat
Temporäre Dateien und Ausgabedateien für "Kapitel2_Bsp1 - Win32 Debug" werden gelöscht.
--------------------Konfiguration: Kapitel2_Bsp1 - Win32 Debug--------------------
Kompilierung läuft...
Bsp2_1.cpp
DayDreamer.cpp
\DayDreamer\DayDreamer.cpp(1 : error C2440: 'initializing' : '' kann nicht in 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)' ko
nvertiert werden
Keine Funktion mit diesem Namen im Gueltigkeitsbereich stimmt mit dem Zieltyp ueberein
\DayDreamer\DayDreamer.cpp(19) : error C2440: 'initializing' : 'struct HINSTANCE__ *' kann nicht in 'int' konvertiert werden
Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
\DayDreamer\DayDreamer.cpp(19) : error C2440: 'initializing' : 'struct HICON__ *' kann nicht in 'int' konvertiert werden
Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
\DayDreamer\DayDreamer.cpp(20) : error C2440: 'initializing' : 'char [16]' kann nicht in 'struct HICON__ *' konvertiert werden
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
ddLog.cpp
Fehler beim Ausführen von cl.exe.
Kapitel2_Bsp1.exe - 4 Fehler, 0 Warnung(en)
Anonymous
unregistriert
Anonymous
unregistriert
Anonymous
unregistriert
Anonymous
unregistriert
Quellcode |
|
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 |
#include <DayDreamer.h> #include "resource.h" //Render-Funktion ddResult Render(float fNumSecsPassed) { return DD_OK; } //Move-Funktion ddResult Move(float fNumSecsPassed) { return DD_OK; } //Windows-Hauptfunktion int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* pcCmdLine, int iShowCmd) { //Engine initialisieren und Fenster initialisieren DayDreamer::Instance()->InitWindow(640, 480, "Beispielprogramm Nr. 2: Fenster", LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1))); //Nachrichtenschleife DayDreamer::Instance()->DoMessageLoop(Render, Move); //Fenster herunterfahren DayDreamer::Instance()->ExitWindow(); //Engine herunterfahren DayDreamer::Instance()->~DayDreamer; return 0; } |
Zitat
emporäre Dateien und Ausgabedateien für "Kapitel2_Bsp1 - Win32 Debug" werden gelöscht.
--------------------Konfiguration: Kapitel2_Bsp1 - Win32 Debug--------------------
Kompilierung läuft...
Bsp2_1.cpp
DayDreamer.cpp
ddLog.cpp
Linker-Vorgang läuft...
Bsp2_1.obj : error LNK2001: Nichtaufgeloestes externes Symbol "private: static class DayDreamer * DayDreamer::m_pInstance" (?m_pInstance@DayDreamer@@0PAV1@A)
DayDreamer.obj : error LNK2001: Nichtaufgeloestes externes Symbol "private: static struct HWND__ * DayDreamer::m_hWindow" (?m_hWindow@DayDreamer@@0PAUHWND__@@A)
Debug/Kapitel2_Bsp1.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.
Kapitel2_Bsp1.exe - 3 Fehler, 0 Warnung(en)
Anonymous
unregistriert
Anonymous
unregistriert
Werbeanzeige