JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Fighter Programm geht nicht

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



Anmeldedatum: 24.07.2005
Beiträge: 109

Medaillen: Keine

BeitragVerfasst am: 05.01.2006, 02:05    Titel: Fighter Programm geht nicht Antworten mit Zitat

Hallo,
ich bin seit neustem auf den VC++ EXPRESS umgestiegen und schaffe jetzt die einfachsten Sachen nicht mehr.

Da in diesem Forum jeder das Fighter-Programm aus dem Buch kennt,
nehme ich es gerne als Beispiel.

Ich Möchte den Fighter zum laufen bringen
und gehe folgender maßen vor:

Neues Project / Win32 Console Application
Name : test OK

Applications Settings auf Windows application
Additional options : empty

Finish

dann koppiere ich alle .h und .cpp in das Projekt, Compile und
erhalte so fehler wie:

c:\cpp-express\test\inputmanager.cpp(41) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [45]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast


also ich kann keine MessageBox mehr erstellen.

den Orginal Fighter kann ich laden und compilen : ALLES GEHT

was fehlt bei mir Crying or Very sad

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Chriss
Senior JLI'ler



Anmeldedatum: 18.08.2004
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 05.01.2006, 09:26    Titel: Antworten mit Zitat

Hi,

du hast die Lösung schon geschrieben Wink

Der Übergabeparameter für die Messagebox hat soch wohl geändert.
Die Messagebox hatte bisher einen "LPCSTR" erwartet was in wirklichkeit "char*" ist. Google mal nach dem "LPCWSTR" der jetzt verlangt wird, dann siehst du den Unterschied.

Alternativ kannst du die Variable die du benutzt ändern.

Anstelle von
Code:

char* strVariable = "Text der Messagebox";

kannst du es mit
Code:

LPCWSTR strVariable = "Text der Messagebox";

versuchen. Dann bist du zwar noch nicht viel schlauer hast dein Problem aber umgangen.

Grüße
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Chriss
Senior JLI'ler



Anmeldedatum: 18.08.2004
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 05.01.2006, 09:33    Titel: Antworten mit Zitat

Ich hab die Definition auf Codeproject gefunden.

typedef CONST WCHAR *LPCWSTR;

http://www.codeproject.com/dotnet/Win32APICPlusPlustoDotNET.asp
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



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

BeitragVerfasst am: 05.01.2006, 09:36    Titel: Antworten mit Zitat

wchar_t ist im Gegensatz zu char 2 Byte groß und nicht 1 Byte, dadurch ist sein Fassungsvermögen enorm.

Die Benutzung ist relativ einfach: Alles was mit char zu tun hatte ist nun mit wchar_t inkompatibel.

Also z.B. strcpy, std::cout, std::cin, strcmp, sprintf, printf, uvm.

Keine Panik, Microsoft hat dafür auf der MSDN mehrere Hundert Artikel die dieses Thema behandeln! Es gibt Ersatzfunktionen die halt auf wchar_t getrimmt wurden wie z.B. sprintf (ANSI) durch swprintf (Unicode) ersetzt wurde. Einfach in der MSDN nach den jeweiligen Funktionen suchen. Aber eines ist klar: Jede Funktion die es mit char gab, hat Microsoft vor mehr als 1 Jahrzehnt auf Unicode dubliziert.

Wertezuweisungen werden durch das Präfix L gekennzeichnet:
CPP:
char value_a = 'a';
wchar_t value_w = L'a';

char value_a_string[] = "hallo welt!";
wchar_t value_w_string[] = L"hallo welt!";


Also eigentlich nichts sonderlich schlimmes.

Wenn Du in Unicode arbeitest, laufen deine Programme nur noch auf NT-Systemen und nicht mehr auf DOS-Kernel Systeme wie Win9x.

Wie in meinem Tutorial über den Microsoft Visual C++ 2005 Express beschrieben, werden ALLE Programme nur noch als Unicodeprogramm erstellt. ANSI ist Steinzeit. Unicode is the future Wink

- Patrick.
_________________
'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
City Hunter
Super JLI'ler


Alter: 38
Anmeldedatum: 18.04.2004
Beiträge: 330
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 19.09.2006, 09:40    Titel: Hallo Antworten mit Zitat

Ja ich habe auch Probleme mit dem Programm.
Ich kann es Kompilieren und so weit ausführen das er mich fragt ob ich das Spiel im Fullscreenmodus spielen will oder nicht, wenn ich eins von beiden anklicke kommt denn ein Windows Fehler, ob ich das Problem senden will oder nicht.
Hat jemand auch sohne Probleme?

Die anderen klappen, ausser noch die SpriteCollisionPixel.

System: Windows XP, AMD 3800+ AM2, 1GB DDRAMII,eine 320GB Platte IDE, Asus 7600GT und eine Blaster Audigy SE von Creative. Habe das DirectX9.0c und den neueste NVidia Treiber drauf.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Fallen
JLI MVP
JLI MVP


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

BeitragVerfasst am: 19.09.2006, 10:49    Titel: Antworten mit Zitat

Schonmal versucht den Fehler einzugrenzen ala Debuggen etc? Hellseher gibts hier meiner Meinung nach nur wenige und du bist sicher schon lang genug hier um zu wissen das wir mehr Informationen brauchen.
_________________
"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
City Hunter
Super JLI'ler


Alter: 38
Anmeldedatum: 18.04.2004
Beiträge: 330
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 19.09.2006, 11:32    Titel: Antworten mit Zitat

Fallen hat Folgendes geschrieben:
Schonmal versucht den Fehler einzugrenzen ala Debuggen etc? Hellseher gibts hier meiner Meinung nach nur wenige und du bist sicher schon lang genug hier um zu wissen das wir mehr Informationen brauchen.


Ich habe ja von Christian die SpriteCollisionPixel gekriegt,mit der exe schon dazu. Wollte das Programm testen und da kam der fehler.

Und da habe ich es noch nicht mal durchen Kompiler gejagt.

1.Bild



2.Bild

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Fallen
JLI MVP
JLI MVP


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

BeitragVerfasst am: 19.09.2006, 12:03    Titel: Antworten mit Zitat

City Hunter hat Folgendes geschrieben:

Und da habe ich es noch nicht mal durchen Kompiler gejagt.


Und du erwartest das wir nun alles lösen?
_________________
"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
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 19.09.2006, 12:09    Titel: Antworten mit Zitat

Die Programme benötigen die Grafikdateien, die sind nicht dabei. Du muss entweder die Pfade anpassen oder die Programme in die richtigen Verzeichnisse kopieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
City Hunter
Super JLI'ler


Alter: 38
Anmeldedatum: 18.04.2004
Beiträge: 330
Wohnort: Berlin
Medaillen: Keine

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

Christian Rousselle hat Folgendes geschrieben:
Die Programme benötigen die Grafikdateien, die sind nicht dabei. Du muss entweder die Pfade anpassen oder die Programme in die richtigen Verzeichnisse kopieren.


Ich habe ja das Buch von dir gekauft, mit der CD. Das JLI_FIGHTER Programm zeigt auch sohne fehler. Da sind aber alle Grafikdateien drin in der Global.h
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
51m0n
JLI'ler


Alter: 32
Anmeldedatum: 06.01.2006
Beiträge: 167
Wohnort: Erkelenz
Medaillen: Keine

BeitragVerfasst am: 19.09.2006, 12:23    Titel: Antworten mit Zitat

Soweit ich mich erinnern kann, sind die Grafikpfade, die in der Global.h stehen nicht ganz richtig. Musst mal gucken wo sich die Grafiken befinden und dan entsprechend anpassen. Ich glaube dazu gabs schonmal ein Thema wo auch die richtigen Pfade standen. Musst evtl. mal suchen.
_________________
Teigwaren
heißen Teigwaren,
weil sie früher einmal Teig waren
Nach oben
Benutzer-Profile anzeigen Private Nachricht 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