ďťż

Ładny brzuch

Witam, przy kompilacji programu wyskakuje mi taki błąd:

[C++ Error] Unit1.cpp(264): E2089 Identifier 'FormMouseMove' cannot have a type qualifier

podswietla sie ta linijka kodu, co nieduzo mowi:)
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { << ta się podświetla:) paddleX = X; if(paddleX < 0) paddleX = 0; if(paddleX > ClientWidth - paddlePic->Width) paddleX = ClientWidth - paddlePic->Width; }

co jest źle? nie spotkałem się jeszcze z takim błędem i nie iwem jak to naprawić;/
pozdrawiam
Ka-lolek
Użytkownik Ka-lolek edytował ten post 18 październik 2006, 17:08


nikt nie spotkał się z tego typu błędem? to dla mnie ważne, bo męczyłem się trochę z tym programem i teraz nie chce mi się skompilować przez ten jeden błąd...

co on może oznaczać?
pozdrawiam i proszę o odpowiedź

Pokaż więcej kodu, szczególnie to, co jest przed tym.
Użytkownik Cyrkiel edytował ten post 18 październik 2006, 22:17
Czyzby brak srednika? :D



srednik? chyba nie.. wtedy bylby syntax error
a tu wyraznie cos mu nie pasuje w tym mousemove

to jest wiekszy kawalek kodu:

void TForm1::move() { //sprawdzanie kolizji z bocznymi scianiami if ((posX < 0) || posX > ClientWidth - ballPic->Width) stepX = - stepX; //kolizja z gorna sciana if (posY < 0) stepY = - stepY; //sprawdzanie czy pilka nie wypadla w dol i czy nie trzeba zakonczyc gry if (posY > ClientHeight - ballPic->Height){ Timer1->Enabled = false; posX = (ClientWidth - ballPic->Width) / 2; posY = BricksNoY * BrickHeight; if(--zycia<1){ ShowMessage("Koniec Gry!"); this->Start1->Enabled = true; this->Stop1->Enabled = false; for(int i = 0; i< bricks->list->Count; i++){ ((Brick*)bricks->list->Items[i])->display = true; } }else { ShowMessage("Liczba pozostalych życ: " + IntToStr(zycia)); this->Timer1->Enabled = true; } return; } for(int i = 0; i< bricks->list->Count; i++){ Brick* brick = (Brick*) bricks->list->Items[i]; if(!brick->display) continue; if((posX < brick->rect->Bottom) && (posY + ballPic->Height > brick->rect->top)){ if((posX < brick->rect->right) && (posY + ballPic->Height > brick->rect->left)){ posY += 5; stepY = -stepY; punkty++; hits++; brick->display = false; } } //sprawdzam czy wszystkie cegielki zostaly zbite (tak = koniec gry:)) if(hits >= bricks->list->Count){ Timer1->Enabled = false; ShowMessage("Wygrales! Wszystkie cegielki zostały zbite!\n " "Twój wynik, to: " + IntToStr(punkty) + " Brawo!"); posX = (ClientWidth - ballPic->Width) / 2; posY = BricksNoY * BrickHeight; this->Start1->Enabled = true; this->Stop1->Enabled = false; for(int i = 0; i < bricks->list->Count; i++){ ((Brick*)bricks->list->Items[i])->display = true; } return; } posX += stepX; posY += stepY; //kolizja z paletka if(posY + ballPic->Height > ClientHeight - paddlePic->Height){ if(!((posX + ballPic->Width < paddleX) || (posX > paddleX + paddlePic->Width))) { stepY = - stepY; } } } void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { paddleX = X; //X jest przekazany przez system if(paddleX < 0) paddleX = 0; if(paddleX > ClientWidth - paddlePic->Width) paddleX = ClientWidth - paddlePic->Width; } //--------------------------------------------------------------------------- void __fastcall TForm1::Stop1Click(TObject *Sender) { if(this->Timer1->Enabled == false) return; Timer1->Enabled = false; //zatrzymujemy gre, a nastepnie pytamy czy faktycznie //...uzytkownik chce ja zakonczyc if(MessageDlg("Czy na pewno chcsz zatrzyma grę?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) == mrNo){ Timer1->Enabled = true; } else{ posX = (ClientWidth - ballPic->Width) / 2; posY = BricksNoY * BrickHeight; paddleX = (ClientWidth - paddlePic->Width) / 2; paddleY = ClientHeight - paddlePic->Height; Start1->Enabled = true; Stop1->Enabled = false; //ustawienie display all cegielek na true jezeli zastopowalismy gre( bo po wystartowaniu //ponownie musi gra byc "jak nowa" for(int i = 0; i < bricks->list->Count; i++){ ((Brick*)bricks->list->Items[i])->display = true; } draw(); } }

Daj to moze w [ codearea]kod[ /codearea]
Ciezko sie rozczytac :)

hmmm nie ma czegos takiego jak codearea (przynajmniej mi nei zadzialalo:P)
Użytkownik Ka-lolek edytował ten post 19 październik 2006, 15:47
witam,

spróbowałem usunąć ten fragment kodu, który jest po zdarzeniu onmousemove i zapisałem a potem skompilowałem (oczywiście szkielet funkcji onmousemove automatycznie się teżusunął...
teraz pojawia się niemalże identyczny błąd:

[C++ Error] Unit1.cpp(264): E2089 Identifier 'Stop1Click' cannot have a type qualifier
tylko, że "przeskoczył" na inne zdarzenie (onstopclick)
i linijka z błędem jest na pierwszym średniku tego kodu:

void __fastcall TForm1::Stop1Click(TObject *Sender) { <-----------------------ta jest zaznaczona na czerwono , treść błędu taka jak podałem powyżej if(this->Timer1->Enabled == false) return; Timer1->Enabled = false; if(MessageDlg("Czy na pewno chcsz zatrzyma grę?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) == mrNo){ Timer1->Enabled = true; } else{ posX = (ClientWidth - ballPic->Width) / 2; posY = BricksNoY * BrickHeight; paddleX = (ClientWidth - paddlePic->Width) / 2; paddleY = ClientHeight - paddlePic->Height; Start1->Enabled = true; Stop1->Enabled = false; //ustawienie display all cegielek na true for(int i = 0; i < bricks->list->Count; i++){ ((Brick*)bricks->list->Items[i])->display = true; } draw(); } }

myślę, że to może was naprowadzić , chociaż mi raczej niewiele mówi...

pozdrawiam i proszę o pomoc
Użytkownik Ka-lolek edytował ten post 20 październik 2006, 18:31
Brak nawiasu klamrowego (gdzieś pominąłeś jeden) w funkcji poprzedniej...

edit
Po prostu dopisz jeden na końcu :).

edit 2
przed void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { tym ;)
Użytkownik Maciek J. edytował ten post 20 październik 2006, 18:32
dzięki.. już wcześniej probowałem dodać tak średnik ale pojawił mi się syntax error... musiałem go przez przypadek wsadzic w zle miejsce;/ a teraz wszystko dziala (pozatym, ze nie dziala tak jak powinno ale przynajmniej sie uruchamia:D - a teraz bede sie glowic dalej;P)
pozdro:p

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •