Gå til innhold

return av feil type i win32 api


Anbefalte innlegg

Skrevet

Jeg har ofte lagt merke til at int WinMain returnerer msg.wParam (MSG) i tutorials jeg finner på nettet. Dette virker flott på kodene jeg laster ned fra nettet, men da jeg selv prøver å skrive en slik kode får jeg advarsel om at å konvertere fra wParam til int kan feile. Noen som vet hva dette kan skyldes?

 

Samme fikk jeg da programmet skulle konvertere resultatet fra DefWindowProc() som er av typen LRESULT til LONG.

 

Eksempler på det jeg mener finnes på http://www.gametutorials.com/Tutorials/Win...2/Win32_Pg1.htm

Videoannonse
Annonse
Skrevet

Høres litt rart ut om samme kompilator godtar koden du laster ned, men klager på det du skriver selv. Men er dette prosjektfiler du laster ned, så er kanskje graden av warnings litt lax? Når du prøver å konvertere fra LRESULT til long, feiler en eksplisitt cast (static_cast<long> eller (long))?

Skrevet

Som sagt, det kan v*re at disse prosjektene har mer laxe settings. VC7 setter kanskje dette p* default ved konvertering av prosjekter for v6, i tilfelle v6 var mindre strikt. F.eks er G++ 3.3 langt striktere enn eldre versjoner, og mye som funket f*r f*rer n* til error.

Skrevet

Tror ikke det burde være noe kjempeproblem egentlig, hvis en static_cast funker burde det være trygt. L i LRESULT står for long vil jeg tro?

Skrevet

det har hele tiden virket med cast (LONG)DefWindowProc() osv, men jeg er litt skeptisk til slike mindre heldige løsninger som det der. Men sålenge jeg ikke får windows error, og den klarer å kompilere med 0 error og 0 warnings er jeg fornøyd. Takker for tiden din med å hjelpe meg bugfikse.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...