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

11

22.04.2007, 21:25

Dann kommt des

c:\martins-xargon\dungeonarmy\dungeonarmy.cpp(39) : error C2664: 'RegisterClassA' : Konvertierung des Parameters 1 von 'struct tagWNDCLASSW *' in 'const struct tagWNDCLASSA *' nicht moeglich
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
c:\martins-xargon\dungeonarmy\dungeonarmy.cpp(51) : error C2664: 'CreateWindowExA' : Konvertierung des Parameters 2 von 'unsigned short [12]' in 'const char *' nicht moeglich
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
Fehler beim Ausführen von cl.exe.

DungeonArmy.exe - 2 Fehler, 0 Warnung(en)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

22.04.2007, 21:29

verwend unicode oder stell es ab ;)

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

13

22.04.2007, 22:53

ich hab so die böse Vermutung, dass es schon abgestellt ist, nur der Code von Theprogrammer auf UNICODE basiert ;)
Also anstellen statt abstellen.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

14

22.04.2007, 22:58

Darum sollt man immer kompatibel für beides sein. ;-)

C-/C++-Quelltext

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
#include <windows.h>

TCHAR name[] = TEXT( "DungeonArmy" );

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    LPSTR szCmdLine, int iCmdShow)
{

    MSG msg;
    WNDCLASS wndclass;
    HWND hwnd;

    ZeroMemory(&hwnd, sizeof(HWND));
    ZeroMemory(&msg, sizeof(MSG));
    ZeroMemory(&wndclass, sizeof(WNDCLASS));

    wndclass.style         = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc   = WndProc;
    wndclass.cbClsExtra    = 0;
    wndclass.cbWndExtra    = 0;
    wndclass.hInstance     = hInstance;
    wndclass.hIcon         = NULL;
    wndclass.hbrBackground = (HBRUSH) GetStockObject(GRAY_BRUSH);
    wndclass.lpszMenuName  = NULL;
    wndclass.lpszClassName = name;

    if (!RegisterClass(&wndclass))
    {
        MessageBox(hwnd, TEXT( "Die Anwendung konnte nicht richtig initalisiert werden. Wenn es nicht klappt beten sie ein bisschen vielleicht klappts dann! ;-)" ), TEXT( "Error" ), MB_OK);
        return 0;
    }

    hwnd = CreateWindow (name, name, WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT,
        1024, 768,
        NULL, NULL, hInstance, NULL);

    ShowWindow (hwnd, iCmdShow);
    UpdateWindow (hwnd);

    while (GetMessage (&msg, NULL, 0, 0))
    {
        TranslateMessage (&msg);
        DispatchMessage (&msg);
    }

    return (static_cast<int>(msg.wParam));
}


LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
    case WM_DESTROY:
        MessageBeep(50);
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc (hwnd, message, wParam, lParam);
}
@D13_Dreinig

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

15

22.04.2007, 23:17

Zitat von »"grek40"«

ich hab so die böse Vermutung, dass es schon abgestellt ist, nur der Code von Theprogrammer auf UNICODE basiert ;)
Also anstellen statt abstellen.


Zitat von »"VC++"«


c:\martins-xargon\dungeonarmy\dungeonarmy.cpp(39) : error C2664: 'RegisterClassA' : Konvertierung des Parameters 1 von 'struct tagWNDCLASSW *' in 'const struct tagWNDCLASSA *' nicht moeglich


ich nicht ;)
naja, vermutlich bin ich verwirrt...

am besten nimmst du David_pbs code^^

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

16

23.04.2007, 00:00

Jo, du bist verwirrt :badgrin:
Schau ma, welche Codeteile bei Theprogrammer explizit das W enthalten und wo der Präprozessor entscheidet ;)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

23.04.2007, 09:04

looool ooops :oops: bin schon still^^
und dabei wars noch nichtmal spät...

18

23.04.2007, 20:51

Trotzdem..

Wie stellt man uinicode bei Visual C++ 6.0 ab bzw an. Finds net. :?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

19

23.04.2007, 20:53

Ich vermute stark dass das genau wie bei den neueren Versionen von Visual Studio in den Projekteigenschaften gemacht wird.
@D13_Dreinig

Phili

unregistriert

20

23.04.2007, 21:03

oder #undef UNICODE am anfang...

Werbeanzeige