CYFROWY BARON • PROGRAMOWANIE • Zobacz wÄ…tek - Problem z MessageBox borland C++XE

Problem z MessageBox borland C++XE

dział ogólny

Problem z MessageBox borland C++XE

Nowy postprzez admszczep » poniedziaÅ‚ek, 25 czerwca 2012, 22:53

Witam
Chcę użyć w Borland standardowego okna MessageBox
wpisuje

KOD cpp:   •  UKRYJ  •
Application->MessageBox("Informacje zostały zapisane","Status",MB_OK|MB_ICONINFORMATION);


i podczas kompilacji mam dwa błędy :


[BCC32 Error] danefr.cpp(165): E2034 Cannot convert 'char const[29]' to 'const wchar_t *'
[BCC32 Error] danefr.cpp(165): E2342 Type mismatch in parameter 'Text' (wanted 'const wchar_t *', got 'const char *')



Najśmieszniejsze, że w wcześniejszych wersjach borlanda ta składnia jest prawidłowa proszę o pomoc co z tym zrobić ???
czy mam konwertować tekst do MessageBox
Avatar użytkownika
admszczep
Homos antropiczny
Homos antropiczny
 
Posty: 66
Dołączył(a): wtorek, 3 listopada 2009, 23:25
PodziÄ™kowaÅ‚ : 2
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP PRO SP3
Kompilator: Embarcadero RAD Studio XE
C++Builder XE
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z MessageBox borland C++XE

Nowy postprzez Cyfrowy Baron » poniedziaÅ‚ek, 25 czerwca 2012, 23:09

Począwszy od środowiska w wersji 2009 i nowszych domyślnym typem zmiennych na których operują te środowiska nie są już AnsiString i char, lecz UnicodeString i wchar_t, a to wymaga odpowiedniego ustawienia projektu i stosowania konwersji. Kod, który zaprezentowałeś powinien wyglądać tak:

KOD cpp:   •  UKRYJ  •
Application->MessageBox( L"Informacje zostały zapisane", L"Status",MB_OK|MB_ICONINFORMATION);


Zapoznaj się z tym wątkiem http://programowanie.cal.pl/forum/viewtopic.php?f=16&t=1098#p7401, gdyż tam opisałem to szczegółowo.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z MessageBox borland C++XE

Nowy postprzez admszczep » poniedziaÅ‚ek, 25 czerwca 2012, 23:13

Przekopiowałem twój kod i mam teraz


[BCC32 Error] danefr.cpp(162): E2280 Member identifier expected

Avatar użytkownika
admszczep
Homos antropiczny
Homos antropiczny
 
Posty: 66
Dołączył(a): wtorek, 3 listopada 2009, 23:25
PodziÄ™kowaÅ‚ : 2
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP PRO SP3
Kompilator: Embarcadero RAD Studio XE
C++Builder XE
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z MessageBox borland C++XE

Nowy postprzez Cyfrowy Baron » poniedziaÅ‚ek, 25 czerwca 2012, 23:20

Ustawiłeś mapowanie projektu na wchar_t?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z MessageBox borland C++XE

Nowy postprzez Cyfrowy Baron » poniedziaÅ‚ek, 25 czerwca 2012, 23:23

Ostatni błąd nie dotyczy problemów z funkcją MessageBox! Spójrz na numer linii komunikatów błędów wcześniej:

admszczep napisał(a):

[BCC32 Error] danefr.cpp(165)



jak widzisz błąd występował w linii 165

a teraz wyskakuje w linii:

admszczep napisał(a):

[BCC32 Error] danefr.cpp(162):



162, czyli 3 wiersze przed funkcja MessageBox. Sprawdź co tam masz!
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z MessageBox borland C++XE

Nowy postprzez admszczep » poniedziaÅ‚ek, 25 czerwca 2012, 23:41

Dzięki wszystko już znalazłem musiałem dodatkowo jeszcze wyłączyć kompilator i wykasować pliki z Debug
teraz wszystko działa jak należy wielkie dzięki za szybką odpowiedz.
Avatar użytkownika
admszczep
Homos antropiczny
Homos antropiczny
 
Posty: 66
Dołączył(a): wtorek, 3 listopada 2009, 23:25
PodziÄ™kowaÅ‚ : 2
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP PRO SP3
Kompilator: Embarcadero RAD Studio XE
C++Builder XE
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z MessageBox borland C++XE

Nowy postprzez Cyfrowy Baron » poniedziaÅ‚ek, 25 czerwca 2012, 23:45

admszczep napisał(a):wyłączyć kompilator i wykasować pliki z Debug


Tylko po co te operacje. Nie spotkałem się z czymś podobnym!

Swoja drogą czy wiesz, że jeżeli nie skompilujesz swojej aplikacji razem z bibliotekami, to nie będzie działała na innych komputerach niż te z zainstalowanym środowiskiem XE?!
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z MessageBox borland C++XE

Nowy postprzez Dawid_Bittner » piÄ…tek, 24 kwietnia 2015, 18:03

Witam, na stronach: http://www.[spam]/3/7/58350.html oraz http://www.[spam]/viewthread.cfm?qid=275700 znalazłem opisy podobnych problemów. Pozdrawiam.
Avatar użytkownika
Dawid_Bittner
Bladawiec
Bladawiec
 
Posty: 1
Dołączył(a): piątek, 4 maja 2012, 14:31
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: brak systemu
Kompilator: C++ Builder XE3
Gadu Gadu: 0
    Windows 7Firefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości

cron