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

Sebastian92

Frischling

  • »Sebastian92« ist der Autor dieses Themas

Beiträge: 33

Wohnort: Wesel

Beruf: Azubi (Fachinformatiker für Anwendungsentwicklung)

  • Private Nachricht senden

1

01.07.2007, 08:44

TriBase InitWindow

Ich habe ein Problem bei den Dateien InitWindow.cpp udn InitWindow.h von der CD.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
g_hWindow = CreateWindow(L"Direct3D window",
                             pcName,
                             WS_VISIBLE | WS_OVERLAPPEDWINDOW,
                             GetSystemMetrics(SM_CXSCREEN) / 2 - iWidth / 2,
                             GetSystemMetrics(SM_CYSCREEN) / 2 - iHeight / 2,
                             iWidth,
                             iHeight,
                             NULL,
                             NULL,
                             GetModuleHandle(NULL),
                             NULL);


Er sacht mir immer :
cannot convert parameter 3 from 'char *' to 'LPCWSTR'

Was kann ich da machen??

PS:
Ich weiß das amn es konvertieren kann mit "_T()" oder "L" aber das nützt mir nich wenns kein Strings is sondern ne Variable.

Schnitter

Treue Seele

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

2

01.07.2007, 09:41

Stell mal den Zeichensatz in den Projekteinstellungen auf Multybyte um.

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

3

01.07.2007, 11:12

oder du schreibst ein

C-/C++-Quelltext

1
(wchar_t*)

davor.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

01.07.2007, 11:31

Parameter 3? Wo wird denn da ein C-String erwartet? :-)

Zitat von »"BlackSnake"«

oder du schreibst ein

C-/C++-Quelltext

1
(wchar_t*)

davor.


:roll:
@D13_Dreinig

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

5

01.07.2007, 11:42

Ich denke er meint Parameter 2...

Also ich würde probieren die Variabel noch ein L anzuhängen. Also irgendwo wird doch pcName = XXXX gemacht und da hätte ich einfach pcName = LXXXX daraus gemacht.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

01.07.2007, 11:45

Du kannst schon konvertieren, aber nicht über einen simplen cast. Mal ein Beispiel:

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
#include <string>
#include <locale>
#include <functional>
#include <vector>
#include <boost/utility.hpp>

template 
< 
    typename CharType,
    typename CharTraits = std::char_traits< CharType >,
    typename Alloc = std::allocator< CharType >
>
struct WideString
    : public std::unary_function< const std::string&, std::basic_string< CharType, CharTraits, Alloc > >
    , private boost::noncopyable
{
    typedef std::basic_string< CharType, CharTraits, Alloc > ResultType;

    WideString( const std::locale& locale_ = std::locale() )
        : locale( locale_ )
    {
        ctype = &std::use_facet< std::ctype< CharType > >( locale );
    }

    ResultType operator()( const std::string& str ) const
    {
        typename ResultType::size_type len = str.length();
        const char* src = str.c_str();
        std::vector< CharType > tmp( len );
        ctype->widen( src, src+len, &tmp[ 0 ] );
        return ResultType( &tmp[ 0 ], len );
    }

private:
    std::locale locale;
    const std::ctype< CharType >* ctype;
};

void blubb( const wchar_t* str )
{
    std::wcout << str << std::endl;
}

int main()
{
    std::string foo( "Hallo Welt" );
    std::wstring bar( WideString< wchar_t >()( foo ) );
    blubb( bar.c_str() );

    std::cin.get();
}


Aber besser ist es alles schön konform zu halten! Also entweder Unicode oder Multibyte.
@D13_Dreinig

Sebastian92

Frischling

  • »Sebastian92« ist der Autor dieses Themas

Beiträge: 33

Wohnort: Wesel

Beruf: Azubi (Fachinformatiker für Anwendungsentwicklung)

  • Private Nachricht senden

7

01.07.2007, 13:44

Jo Thx also wenn ichs aus MultiByte umstelle gehts.
Muss man aber auch erstmal wissen.

So nu noch was anderes vll lönnt ihr mir ja helfen.
Irgendwo kann man doch einstellen das er die Dll's in Debug Verzeichnis kopiert oder?
Ich hatte sowas mal aber find es jetzt nichtmehr.

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

8

01.07.2007, 13:51

Also man kann erstmal festlegen, wo eine DLL hin soll...
Wenn man diese an mehrere Orte kopieren will muss man auf das Buildereignisse->Postbuildereignis zurückgreifen.

Sebastian92

Frischling

  • »Sebastian92« ist der Autor dieses Themas

Beiträge: 33

Wohnort: Wesel

Beruf: Azubi (Fachinformatiker für Anwendungsentwicklung)

  • Private Nachricht senden

9

01.07.2007, 14:20

Ich will nur das er z.B. die TriBaseD.dll ins dabugverzeichnis kopiert und mir nicht immer sagt TriBaseD.dll kann nciht gefunden werden.
Hatte mal was da hatt er wirklich alle Dll's die er gerbaucht hat mitkopiert.

Spy

Frischling

  • Private Nachricht senden

10

29.12.2007, 12:47

Ich würde nicht "Multi-Byte Zeichensatz verwenden" sondern "Nicht definiert" verwenden.
MfG Spy
Mein GE-Projekt

Werbeanzeige