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

41

13.04.2008, 23:23

So. Gibt ein Update.

1. Bin auf VC8 umgestiegen.
2. Hab die Klasse nochmal überarbeitet.
3. Als nächstes müsste ich mich ein wenig mit Windowsprogrammierung
ausseinandersetzen. MFC finde ich für mein vorhaben momentan am
geeignetsten.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

42

14.04.2008, 10:59

Zitat von »"knivil"«

Wenn C bevorzugt wird, dann solltest du auch bei C bleiben. Also kein class, template, virtual, const, public, private, new, delete, bool, typedef ... [...] Allgemein solltest du C++ und C nicht mixen. [...]


Wenn du schon so einen Unsinn schreibst, dann solltest du das wenigstens belegen... :roll:
@D13_Dreinig

43

14.04.2008, 15:40

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    OPENFILENAME ofn;
    wchar_t sz_filePath[MAX_PATH];

    ZeroMemory(&ofn, sizeof(ofn));

    ofn.lStructSize     = sizeof(ofn);
    ofn.hwndOwner       = GetSafeHwnd();
    ofn.lpstrFilter     = (wchar_t *)"Half Life Sprites (*.spr)\0*.spr\0Alle Dateien (*.*)\0*.*\0";
    ofn.lpstrFile       = sz_filePath;
    ofn.nMaxFile        = MAX_PATH;
    ofn.Flags           = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
    ofn.lpstrDefExt     = (wchar_t *)"spr";

    if ( GetOpenFileName( &ofn ) )
    {
        theSprite.loadSprite ( (char *)sz_filePath );
    }


Aus einem früheren Projekt rausgesucht.
Normalerweise sollte sich ein Dateiauswahlfenster öffnen. Tut es aber nicht.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

44

14.04.2008, 15:42

Was passiert denn?
@D13_Dreinig

45

14.04.2008, 15:45

Nix. Naja es werden noch zusätzliche DLL's geladen. Und das Hauptfenster verliert kurz den Fokus. Das wars dann aber.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

46

14.04.2008, 15:53

Wenn du dir den Error Code den GetOpenFilename zurückgibt angeschaut hättest, wärst du sicher schnell selber drauf gekommen...

Du initialisierst dein sz_filePath nicht.

C-/C++-Quelltext

1
*sz_filePath = 0;


vor dem aufrufen des Dialogs sollte das Problem beheben ;)

47

14.04.2008, 16:02

Da leck mich einer Fett. Ok jetz gehts :lol:

Wie mache ich denn normale Strings für Unicode nutzbar ? Weil wenn ich

C-/C++-Quelltext

1
ofn.lpstrFilter        = (wchar_t *)"Half Life Sprites (*.spr)\0*.spr\0Alle Dateien (*.*)

Zuweise, bekomme ich nur Chinesische Zeichen. :? Ich hätte eigentlich auf wchar_t gehofft ... aber das bringts irgendwie nich.

€dit:

DOH ... ich habs L vergessen ... :cry:

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

48

14.04.2008, 16:06

shame on me, das hab ich glatt übersehen^^

Zitat von »"Pyro Phoenix"«

Wie mache ich denn normale Strings für Unicode nutzbar ? Weil wenn ich

C-/C++-Quelltext

1
ofn.lpstrFilter        = (wchar_t *)"Half Life Sprites (*.spr)\0*.spr\0Alle Dateien (*.*)


tjo, nur weils nicht geht einfach mal nen cast hinmachen is selten eine gute idee :p

einfach des char string literal umcasten ist pöse. nimm lieber wchar_t string literale:

C-/C++-Quelltext

1
ofn.lpstrFilter        = L"Half Life Sprites (*.spr)\0*.spr\0Alle Dateien (*.*)


analog dazu beim andren string. dann sollts gehen ;)


EDIT:
Gut, hasts eh schon selber gemerkt...

49

14.04.2008, 16:15

Nächstes Problem:

wchar_t to char

Einfach casten geht ja nicht.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

50

14.04.2008, 16:16

nein. ich dachte du setzt auf unicode. warum dann char?

Werbeanzeige