JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=b8259ca177ed9ef83d250827b489e74cMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Fenster
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Aschratt
Mini JLI'ler



Anmeldedatum: 20.03.2005
Beiträge: 2
Wohnort: Seifersdorf
Medaillen: Keine

BeitragVerfasst am: 20.03.2005, 13:08    Titel: Fenster Antworten mit Zitat

Tach Leute!

Ich brauch ganz ganz ganz ganz ganz ganz dringend eure Hilfe!
Ich hab in der Windowsprogrammierung grade erst angefangen und hab folgende Probleme, wenn ich eine Funktion zum Erstellen eines Fensters schreiben will:

An dießer stelle treten die meisten Fehler auf:
Code:
HWND CreateMainWindow(HINSTANCE hInstance)


und zwar:
Code:
c:\programme\microsoft visual studio\myprojects\fenster\fenster_1.cpp(65) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'CreateMainWindow'
c:\programme\microsoft visual studio\myprojects\fenster\fenster_1.cpp(65) : error C2040: 'HWND' : 'struct _WNDCLASSEX' unterscheidet sich von 'struct HWND__ *' in bezug auf die Anzahl vorgenommener Dereferenzierungen
c:\programme\microsoft visual studio\myprojects\fenster\fenster_1.cpp(65) : fatal error C1004: Unerwartetes Dateiende gefunden


Ich häng euch mal den ganzen Quellcode ran:
CPP:
#include "Windows.h"
typedef struct _WNDCLASSEX {
                                UINT                   cbSize;
      UINT      style;            
      WNDPROC      lpfnWndProc;
      int         cbClsExtra;
      int         cbWndExtra;
      HINSTANCE   hInstance;
      HICON      hIcon;
      HCURSOR      hCursor;
      HBRUSH      hbrBackround;
      LPCSTR      lpszMenuName;
      LPCSTR      lpszClassName;
      HICON      hIconSm;
}

/* Wenn ich das nich als Kommenar setz komm noch mehr Fehler!

HWND CreateWindowEx(
      DWORD      dwExStyle,
      LPCSTR      lpClassName,
      DWORD      dwStyle,
      int         x,
      int         y,
      int         nWidth,
      int         nHeight,
      HWND      hWndParent,
      HMENU      hMenu,
      HINSTANCE   hInstance,
      LPVOID      lpParam
)

*/


//Hier kommen die Errors
HWND CreateMainWindow(HINSTANCE hInstance)
//////////////////////////////////////////////////////////////////////////////////
{
   //Struktur festlegen
   WNDCLASSEX wndclass;

   //Struktur initialisieren
   wndClass.cbSize = sizeof(&WNDCLASSEX);
   wndClass.style = CS_DBLCLKS | CSOWNDC | CS_HREDRAW | CSVREDRAW;

   //Callback-Funktion
   wndClass.lpfnWndProc = MessageHandler;

   wndClass.CbClsExtra = 0;
   wndClass.cbWndExtra = 0;
   wndClass.hInstance = hInstance;

   //Backrond = Weiß
   wndClass.hbrBackround = (HBRUSH)GetStockObject(WHITE_BRUSH);

   //Maucursor = Standart
   wndClass.hCursor = LoadfCursor(NULL, IDC_ARROW);

   // Kein Menü
   wndClass.lpszMenuName = NULL;

   //Name der Klasse
   wndClass.lpszClassName = "WindowClass";

   //Icons
   wndClass.hIcon = LoadIcon(NULL, IDI_WINLOGO);
   wndClass.hIconSm = LoadIcon(NULL, IDI_WINLOGO);

   //Registrieren der Klasse
   RegisterClassEx(&wndClass);

   //Rückgabewert von CreateWindowEx = Rückgabewert von CreateMainWindow
   return CreateWindowEx(
            NULL,                        //Stile
            "WindowClass",                  //Klassenname
            "Ein Einfaches Fenster",         //Fenstertitel
            WS_OVERLPPEDWINDOW | WS_VISIBLE,   //Eigenschaften
            0, 0,                        //Anfangsposition
            400, 300,                     //Größe
            NULL,                        //Handle des Elternfensters
            NULL,                        //Handle des Menüs
            hInstance,                     //Anwendungsinstanz
            NULL,                        //nicht benötigt
            );
}


LRESULT CALLBACK MessageHandler(HWND hwnd,
                        UINT msg,
                        WPARAM wParam,
                        LPARAM lParam)
{
   //Nachrichtentest
   switch(msg)
   {
      //bei schließen d. Fensters WM_QUIT senden
   case WM_DESTROY:
      PostQuitMessage(0);
      return(0);
   break;
   }
   //Unbearbeitete Nachichten weiterleiten
   return (DefWindowProc(hwnd, msg, wParam, lParam));
}


//globale Variable für Fensterhandle
HWND hWnd = 0

int WINAPI WinMain(HINSTANCE hInstance,
               HINSTANCE hPrevInstance,
               LPSTR lpCmdLine,
               int nCmdShow)

{
   //Fenster erzeugen und in Handle speichern
   hwnd = CreateMainWindow(hInstance);

   //return(0)  -> FEHLER
   if(0 == hWnd)
   {
      MessageBox(0,"Fenster konnte nicht erzeugt werden",
         "Fehler!",MB_OK | MB_ICONEXCLAMATION);
   }

   //Struktur mit Nachichteninformationen
   Msg msg;

   //Nachichtenschleife bis WM_QUIT
   while(GetMessage(&msg,NULL,0,0))
   {
      //Nachicht an Callbackfunktion senden
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }

   return 0;
}


BITTE HELFT MIR ICH BIN VERZWEIFELTConfused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused Confused
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 20.03.2005, 13:19    Titel: Antworten mit Zitat

Das was du auskommentiert hast hat keinen Funktionsblock {} wenn das beabsichtigt war dann hat es kein ;

allerdings frage ich mich wozu du das gemacht hast, die Funktion brauchst du nicht aufschlüsseln.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 20.03.2005, 13:27    Titel: Antworten mit Zitat

Äh...wozu definierst du überhaupt _WNDCLASSEX und CreateWindowEx?
Die sind doch soweit ich weiß schon im Windows-Header...
(Falls du das Buch hast, schau dir noch mal den Code im Buch oder auf der CD an Wink ).
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 20.03.2005, 14:43    Titel: Antworten mit Zitat

Und bitte repariere deine capslock-Taste.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 20.03.2005, 15:12    Titel: Antworten mit Zitat

ähme... in der MSDN steht zu "typedef struct" en anderer Aufbau. z.B.
MSDN hat Folgendes geschrieben:
typedef struct mystructtag
{
int i;
float f;
char c;
} mystruct;

Es steht nach dem Funktionsblock immer ";" - das is eigentlich immer nötig , aber mich wunderts schon oben. Normaler müsste er da en Fehler anzeigen - hat er glaub ich auch. Ich würde dir empfehlen, für solche Zwecke mit nem Zeiger auf die Struktur(oben: "mystuct") zu arbeiten, aber das is Ansichtsache
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 20.03.2005, 15:21    Titel: Antworten mit Zitat

Hmm...Steht doch da dass ein Semikolon fehlt... Exclamation
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 20.03.2005, 15:50    Titel: Antworten mit Zitat

DirectXer
Strukturen sowie Klassen und enums haben keinen Funktionsblock Wink
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 20.03.2005, 16:09    Titel: Antworten mit Zitat

www.win-api.de << sehr gutes Tutorial
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 20.03.2005, 17:11    Titel: Antworten mit Zitat

jo, dann eben das was in den Klammern steht Smile Wie nennt man das denn?
Hab mir gedacht, dass das net Funktionsblock heißt, aber bei Methoden wird das auch so genannt; deshalb hab ichs einfach "behauptet" Laughing
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Aschratt
Mini JLI'ler



Anmeldedatum: 20.03.2005
Beiträge: 2
Wohnort: Seifersdorf
Medaillen: Keine

BeitragVerfasst am: 03.04.2005, 08:57    Titel: Antworten mit Zitat

Danke für alle eure Tips!

Ich hab noch mal neu angefangen und einiges ausprobiert probiert und habs am ende doch noch hinbekommen.

Danke!!!!!!! Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 03.04.2005, 09:04    Titel: Antworten mit Zitat

Auf die Weise ist es eh am besten. Man kapiert am meisten, wenn man sich Sachen selbst erarbeitet Exclamation
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 03.04.2005, 10:12    Titel: Antworten mit Zitat

jop und net so übertreiben mit den Smilies und so Wink
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 03.04.2005, 14:33    Titel: Antworten mit Zitat

Was hast du denn gegen die Smilies Question
Ich mag vor allem Very Happy und Shocked Exclamation
Des weiteren finde ich Smile , Evil or Very Mad und Embarassed ganz Cool .
Aber ich fürchte das hier ist schon wieder Spam Rolling Eyes Nein, die Mods werden hoffentlich meinen Post doch nicht löschen Confused Das wäre echt Shocked .Aber das würde ich mir net bieten lassen Rambo

Wink


[Edit by Mod] Mad Mad Mad Mad Mad Mad Mad Mad Mad Mad Mad Mad Mad Mad Mad Mad [/Edit]
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Dragon
Super JLI'ler


Alter: 38
Anmeldedatum: 24.05.2004
Beiträge: 340
Wohnort: Sachsen
Medaillen: Keine

BeitragVerfasst am: 03.04.2005, 15:42    Titel: Antworten mit Zitat

DirectXer hat Folgendes geschrieben:
jo, dann eben das was in den Klammern steht Smile Wie nennt man das denn?


Parameterliste Wink
_________________
Nur wenn man ein Ziel sieht, kann man es auch treffen.
___________
Mein Leben, Freunde und die Spieleentwicklung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 03.04.2005, 15:45    Titel: Antworten mit Zitat

Hehe, in Info ham wir gelernt dass es Aktuelle und Formale Parameter gibt.
Ja Kinder das ist wichtig und wenn ihr das nicht wisst landet ihr in der Gosse.
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum