Pentalinio Opublikowano 27 Grudnia 2007 Udostępnij Opublikowano 27 Grudnia 2007 Z tego co mi wiadomo, LPCTSTR to wskaźnik na string w stylu C ( char ), tak więc konwersja z std::string powinna wyglądać następująco: std::string sString = "Hello World!"; LPCTSTR lpString = sString.c_str(); Ku memu zaskoczeniu kompilator wywala błąd, kiedy próbuję wywołać funkcję MessageBox, gdyż pisze, że to zły typ. Wypisanie bezpośrednio C stringa "Tekst" daje praktycznie ten sam rezultat :( . Co robić? Używam Microsoft Visual C++ 2008, w Dev-C++ kod działa, więc to chyba wina środowiska ? Może zna ktoś funkcję, która nadaje LPCTSTR wartość stringa ? Szukałem w dokumentacji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kubx Opublikowano 27 Grudnia 2007 Udostępnij Opublikowano 27 Grudnia 2007 Jak mi się wydaje, w C string to tablica znaków (poszukaj o tym). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pentalinio Opublikowano 27 Grudnia 2007 Autor Udostępnij Opublikowano 27 Grudnia 2007 Rozumiem, że ciężko mnie zrozumieć, ale bez przesady :) . Chodzi mi o to: MessageBox ( HWND hwnd, "Heja!", "Okienko", NULL ); Tam gdzie wstawiłem te łańcuchy, powinny być typy LPCTSTR, w Dev-C++ ten kod działa, bo i owszem, działać powinien. Natomiast w VC++ pisze, że mylę typ const char z LPCTSTR, więc próbuję dokonać konwersji tegoż typu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 27 Grudnia 2007 Udostępnij Opublikowano 27 Grudnia 2007 omg projekt>>properties>>general>>Character set>>not set... 0o Po prostu wyłącz Unicode... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pentalinio Opublikowano 27 Grudnia 2007 Autor Udostępnij Opublikowano 27 Grudnia 2007 Czekałem aż się wypowiesz. Dzięki, nareszcie mogę pracować ;p . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 27 Grudnia 2007 Udostępnij Opublikowano 27 Grudnia 2007 np W końcu forum jest po to żeby pytać.. czasem jednak trzeba używać tego formatu LPCTSTR np: podczas obsługi DirectShow to wtedy wystarczy rzutować starym sposobem z starego C. (LPCTSTR)"nazwaOkna" To taka mała uwaga. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się