JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

kap. 11, erstes windows-programm

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
zombiezunge
Mini JLI'ler



Anmeldedatum: 28.04.2003
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 28.04.2003, 15:28    Titel: kap. 11, erstes windows-programm Antworten mit Zitat

hallo,

hab da ein kleines problem und ich hoffe ihr könnt mir weiterhelfen.
beim kompilieren des miniprogramms auf seite 210

*****************************************
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
return 0;
}
*****************************************

erhalte ich folgende fehlermeldung:

error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'WinMain'
fatal error C1004: Unerwartetes Dateiende gefunden
Fehler beim Ausführen von cl.exe.

ich denke es ist nur eine kleinigkeit, kann es aber einfach nicht rausfinden.

danke und viele grüße

ZZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 28.04.2003, 15:34    Titel: Antworten mit Zitat

Hallo,

hast du die .dsw gestartet oder die .cpp? ist es ein Windows oder Konsolenprojekt?

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
zombiezunge
Mini JLI'ler



Anmeldedatum: 28.04.2003
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 28.04.2003, 16:14    Titel: Antworten mit Zitat

wow, das ging ja schnell. und auch noch vom chef persönlich Wink

also: ich habe ein neues projekt gestartet (win32-anwendung), dann habe ich eine neue datei (quellcode) erstellt und diese hellowindows.cpp genannt. nach der eingabe habe ich eigentlich nur noch die buttons "kompilieren" bzw. "erstellen" auf der minileiste gedrückt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 28.04.2003, 16:17    Titel: Antworten mit Zitat

Es fehlt ganz einfach ein
Code:

#include <Windows.h>

Denn WINAPI ist wie einige andere Symbole dort definiert.

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
zombiezunge
Mini JLI'ler



Anmeldedatum: 28.04.2003
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 28.04.2003, 16:49    Titel: Antworten mit Zitat

ja das war dann auch schon das problem. danke leute! Embarassed
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mfc++
JLI'ler


Alter: 40
Anmeldedatum: 18.02.2004
Beiträge: 163
Wohnort: Bettlä
Medaillen: Keine

BeitragVerfasst am: 15.07.2004, 17:21    Titel: Antworten mit Zitat

sorry wenn ich mich einmische, aber wie mach ich denn nun ein fenster?

Code:
#include <windows.h>



int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
return 0;
}


ist ja so wie

Code:
#include <iostream.h>

int main()
{
return 0;
}

nur eben als api code. wie mache ich nun ein fenster? hab nirgend was passendes gefunden. bin eher ein mfc c++ progger. möchte aber in die api einsteigen und endlich selber richtige proggs machen. für spiele muss ich das ja auch können Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 15.07.2004, 17:23    Titel: Antworten mit Zitat

lies doch einfach weiter im Buch Wink steht da alles drinne...

cu Felix
_________________
StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
mfc++
JLI'ler


Alter: 40
Anmeldedatum: 18.02.2004
Beiträge: 163
Wohnort: Bettlä
Medaillen: Keine

BeitragVerfasst am: 16.07.2004, 10:46    Titel: Antworten mit Zitat

mach ich doch aber komm nit weiter. muss ich nach dem include
Code:
typedef struct _WNDCLASSEX {
UINT cbSize;
.
.
.
HICON hIconSm;
}


schreiben und dann in den WINAPI funktionsrumpf

Code:
HWND CreateWindowEx(
DWORD dwExStyle,
.
.
.
LPVOID lpParam);


schreiben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 16.07.2004, 12:26    Titel: Antworten mit Zitat

Ja, das CreateWindowEx muss auf jeden Fall irgendwo (direkt oder indirekt) in der WinMain()-Funktion aufgerufen werden.

Aber wenn ich mich recht erinnere, musst du da keine Stuktur definieren. Die WNDCLASSEX-Struct stellt AFAIK windows.h zur Verfügung. Deshalb musst du nur eine Instanz der Klasse erstellen und initialisieren:
Code:
WNDCLASSEX instanz;

instanz.blabla=foo.bar();

_________________
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
criss
JLI'ler



Anmeldedatum: 15.02.2004
Beiträge: 169
Wohnort: Graz Umgebung
Medaillen: Keine

BeitragVerfasst am: 11.08.2004, 12:18    Titel: Antworten mit Zitat

Ich hab da auch mal ein Problem leider hab ich mein Buch verlegt und schreib jetzt die Winmain aus dem Gedächtnis. Ich hab da einen Fehler in der CLASSEX aber ich weiß nicht was.

Code:

#include <windows.h>

HWND CreateMainWindow(HINSTANCE hInstance);
HWND hwnd = 0;

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

{
   hwnd = CreateMainWindow(hInstance);

   if(hwnd = 0)
   {
      return -1;
   }

   return 0;
}


HWND CreateMainWindow(HINSTANCE hInstance)
{

   WNDCLASSEX wndClass =
   {
      sizeof (WNDCLASSEX),
      CS DBCLKS | CS OWNDC | CS HREDRAW | CS VREDRAW,
      0,
      0,
      0,
      hInstance,
      0,
      LoadCursor(NULL, IDC_CROSS),
      (HBRUSH)GetStockObject(WHITE BRUSH),
      NULL,
      "WindowClass",
      0,
   };

   RegisterClassEx(&wndClass);

   return CreateWindowEx (   0,
                     "windowClass",
                     "AnimEdit",
                     WS OVERLAPPEDWINDOW | WS VISEBLE,
                     100,100,
                     100,200,
                     0,
                     0,
                     hInstance,
                     0);
}





Kompiler:

P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(38) : error C2065: 'CS' : nichtdeklarierter Bezeichner
P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(38) : error C2061: Syntaxfehler : Bezeichner 'DBCLKS'
P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(51) : error C2065: 'wndClass' : nichtdeklarierter Bezeichner
P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(51) : error C2501: 'RegisterClassExA' : Fehlende Speicherklasse oder Typbezeichner
P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(51) : error C2373: 'RegisterClassExA' : Neudefinition; unterschiedliche Modifizierer
p:\microsoft visual studio\vc98\include\winuser.h(2956) : Siehe Deklaration von 'RegisterClassExA'
P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(51) : error C2440: 'initializing' : 'int *' kann nicht in 'int' konvertiert werden
Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(53) : error C2143: Syntaxfehler : Fehlendes ';' vor 'return'
P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(63) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(63) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
P:\VC++Ent\MSDev98\MyProjects\AnimationsEditor\main.cpp(63) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
Fehler beim Ausführen von cl.exe.

AnimationsEditor.exe - 10 Fehler, 0 Warnung(en)


leider ein bischen viel :oops:
_________________
Lebe dein Leben, du kommst nicht lebend wieder rauß. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 11.08.2004, 12:29    Titel: Antworten mit Zitat

Zitat:
CS DBCLKS | CS OWNDC | CS HREDRAW | CS VREDRAW

Das kann schon mal nicht sein, weil ein Bezeichner nie ein Leerzeichen haben darf.
Deshalb dürfte CS_blabla stimmen.
Somit sollten auch schon mehrere Fehler weg sein 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
criss
JLI'ler



Anmeldedatum: 15.02.2004
Beiträge: 169
Wohnort: Graz Umgebung
Medaillen: Keine

BeitragVerfasst am: 11.08.2004, 13:13    Titel: Antworten mit Zitat

Komisch das man selber solche Sachen nicht sieht bis sie einem gesagt werden.

Danke, ein bischen peinlich ist mir das schon Embarassed
_________________
Lebe dein Leben, du kommst nicht lebend wieder rauß. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 11.08.2004, 13:31    Titel: Antworten mit Zitat

np Wink

Solche Probleme sind sicher schon vielen von uns passiert.
Ich habe auch schon lange nach Fehlern gesucht. Am Ende habe ich dann herausgefunden, dass nur ein Zeichen gefehlt hat/falsch war Rolling Eyes *g*
_________________
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
criss
JLI'ler



Anmeldedatum: 15.02.2004
Beiträge: 169
Wohnort: Graz Umgebung
Medaillen: Keine

BeitragVerfasst am: 11.08.2004, 15:13    Titel: Antworten mit Zitat

Aber den gleichen Fehler mach ich nicht mehr (hoffe ich Rolling Eyes )

Die Callback ist jetzt auch drin. ohne fehler Cool

Hier noch ein bischen spam:
mir fällt dann doch nichts ein.
_________________
Lebe dein Leben, du kommst nicht lebend wieder rauß. Wink
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
Seite 1 von 1

 
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