Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: c++ohjelma yhtäkkiä bugaa

Sivun loppuun

sooda [21.11.2003 15:46:02]

#

ensin toimi niin hyvin ja sitten tein jotain muutoksia jota en itsekään huomaa mitä tein ja ei toimi. Virheitä:

k:\c++\rot\rotta.cpp: At top level:
k:\c++\rot\rotta.cpp:252: `hwnd' was not declared in this scope
k:\c++\rot\rotta.cpp:252: `hdc' was not declared in this scope
k:\c++\rot\rotta.cpp:252: ANSI C++ forbids declaration `ReleaseDC' with no type
k:\c++\rot\rotta.cpp:252: `int ReleaseDC' redeclared as different kind of symbol
D:\DEV-C_~1\INCLUDE\winuser.h:2777: previous declaration of `int ReleaseDC(HWND__ *, HDC__ *)'
k:\c++\rot\rotta.cpp:252: initializer list being treated as compound expression
k:\c++\rot\rotta.cpp:255: parse error before `return'

Mulla on siellä coodissa kyllä:

int WINAPI WinMain(    HINSTANCE hinstance,
                    HINSTANCE hprevinstance,
                    LPSTR lpcmdline,
                    int ncmdshow)
{

HWND       hwnd;
HDC        hdc;

...jne.
Ei toimi kuitenkaan, missä vois olla vika?

vade [21.11.2003 16:02:16]

#

hwnd ja hdc on määritelty funktion WinMain näkyvyysalueella. Yrität ilmeisesti käsitellä niitä jossain aliohjelmassa, kuten viestiproseduurissa, niitä sinne kuitenkaan välittämättä. Pastaamasi koodi ei kerro ongelmista oikein mitään. Uppaa koko koodi webbiin, yli 255-rivisenä sitä tuskin tänne kannattaa liittää.

sooda [21.11.2003 16:07:28]

#

Sähän olet taitava! Kumma kun yhdestä typosta tulee noin monta virhettä. Juu, mulla oli vahingossa yks releasedc vahingossa "}" merkin seuraavalla rivillä. Nyt enää yks virhe mitä en saa millään pois: k:\c++\rot\rotta.cpp:145: warning: converting NULL to non-pointer type
soodaa:

if (!(hwnd = CreateWindowEx(NULL,
                            WINDOW_CLASS_NAME,
               "Mahtiohjelma",
                WS_VISIBLE,0,0,win_wid,win_hei,
                NULL, NULL,
                hinstance,
                NULL))) // <---------rivi 145
return(0);

olen yrittänyt muuttaa joka nullin jokskuksi muuks mutta yhä vaan valittaa. Mikäköhän avuks?

Meitsi [21.11.2003 18:30:18]

#

Eiks tosta tokan ja kolmannen sulun välistä puutu puolipiste?
if (!(hwnd = CreateWindowEx(NULL,
WINDOW_CLASS_NAME,
"Mahtiohjelma",
WS_VISIBLE,0,0,win_wid,win_hei,
NULL, NULL,
hinstance,
NULL));) <---------rivi 145 muutettu
return(0);
Onko näin?

thefox [22.11.2003 11:40:56]

#

Ei sinne mitään puolipisteitä tarvitse änkeä.

Type-castaa toi NULL LPVOID-tyyppiseksi, toihan on vaan warningi.

sooda [22.11.2003 15:05:23]

#

lainaus:

Type-castaa toi NULL LPVOID-tyyppiseksi, toihan on vaan warningi.

Mä oon sen verran aloittelija tässä c++ssa että haluatko selittää mitä tarkoittaa "type-castaaminen"?

thefox [22.11.2003 18:13:38]

#

Tarkoittaa siis sitä että "NULL" -> "(LPVOID)NULL".

Meitsi [23.11.2003 13:02:25]

#

No mä oonkin vasta alottelija...


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta