Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Jump and Run! need help ! (https://www.delphipraxis.net/81531-jump-run-need-help.html)

Bartuc 2. Dez 2006 01:41

Re: Jump and Run! need help !
 
Klappt bei mir nicht so ganz.....
wenn ich starten will kommt dieser Fehler:

Delphi-Quellcode:
TFigur = class
[Error] Unit1.pas(51): ',' or ':' expected but '=' found
was heißt das genau?
oder muss man den Teil an einer bestimmten stelle einfügen?

Cöster 2. Dez 2006 08:09

Re: Jump and Run! need help !
 
Deswegen hab ich ja zu den beiden Tutorials verlinkt. In den Type-Abschnitt kommt die Typ-Deklaration.

Bartuc 2. Dez 2006 11:33

Re: Jump and Run! need help !
 
Habs mir jetzt nochmal durchgelesen.Verstehen tue ich aber nicht viel :(

hab ne neue Unit für die Klasse erstellt.
aber beim starten tritt diesmal dieser Fehler auf

Zitat:

function TUnit2.IstAufDemBoden(const map: TCanvas): Boolean;

[Error] Unit2.pas(23): Undeclared identifier: 'TCanvas'
Ich weiß nicht was ich falsch gemacht habe.

Cöster 2. Dez 2006 12:08

Re: Jump and Run! need help !
 
Ja, wenn so ein Fehler kommt, hilft immer: Mit dem Cursor in das Wort gehen (also TCanvas), F1 drücken. Dort liest du dann, in welcher Unit der Typ deklariert ist. In diesem Fall: Graphics. Das musst du dann unter "uses" einbinden.

Bartuc 2. Dez 2006 13:46

Re: Jump and Run! need help !
 
Danke das hat geklappt,

aber jetzt gibts wieder ein problem... eigentlich genauso wie von vorher aber ich weiß nicht was ich jetzt machen soll:

Delphi-Quellcode:
if Key = VK_SPACE then
  if ImgCartman.IstAufDemBoden(ImSchwarzWeiss.Canvas) then
    Imgcartman.YSpeed := -20;
Delphi-Quellcode:
[Error] Unit1.pas(141): Undeclared identifier: 'IstAufDemBoden'
[Error] Unit1.pas(141): Undeclared identifier: 'ImSchwarzWeiss'
[Error] Unit1.pas(141): 'THEN' expected but identifier 'Canvas' found
Muss ich da wieder was bei uses eintragen? "F1" hat mir nicht weiterhelfen können

Cöster 2. Dez 2006 20:01

Re: Jump and Run! need help !
 
Ja, du musst wieder etwas in die Uses-Klausel einfügen. Wenn du einen Typ aus einer anderen Unit verwendest (wie z.B. TCanvas, was in der Unit Graphics deklariert ist), musst du die Unit im Uses-Abschnitt eintragen. Genauso ist das bei Prozeduren und Funktionen. Die Funktion IntToStr ist z.B. in der Unit SysUtils deklariert und implementiert. Wenn du in deinem Code also IntToStr verwendest, musst du in dieser Unit SysUtils unter Uses einbinden.

IstAufDemBoden hast du wahrscheinlich selbst in einer anderen Unit implementiert. Dann musst du in der Aufrufenden Unit die Unit einbinden, in der du IstAufDemBoden deklariert hast.
Dass dir in diesem Fall F1 nicht weiterhilft, ist normal: Über F1 gelangst du in die Delphi-Hilfe. Dort stehen aber natürlich nur Informationen über Klassen, Methoden oder sonstiges, die von Delphi kommen. Über von dir geschriebenen Code kann Delphi ja nichts in seiner Hilfe schreiben.

Mit ImSchwarzWeiss meinte ich nur den Namen des Images, in das du die Schwarz-Weiß-Version der Map laden solltest. Dazu musst du natürlich erstmal ein solches Image auf deinem Formular platzieren und über die Eigenschaft Picture im OI das Bild einfügen. Du kannst dem Image natürlich auch einen anderen Namen geben als "ImSchwarzWeiß".

Bartuc 3. Dez 2006 21:03

Re: Jump and Run! need help !
 
Zitat:

Zitat von Cöster
Die Funktion IntToStr ist z.B. in der Unit SysUtils deklariert und implementiert. Wenn du in deinem Code also IntToStr verwendest, musst du in dieser Unit SysUtils unter Uses einbinden.

IstAufDemBoden hast du wahrscheinlich selbst in einer anderen Unit implementiert. Dann musst du in der Aufrufenden Unit die Unit einbinden, in der du IstAufDemBoden deklariert hast.

SysUtils stand schon unter Uses drin. =(
Woran kanns sonst liegen?

Was meintest du mit "in einer anderen Unit implementiert" ?
bzw "Dann musst du in der Aufrufenden Unit die Unit einbinden"?

Bartuc 4. Dez 2006 18:23

Re: Jump and Run! need help !
 
Delphi-Quellcode:
    if Key = VK_SPACE then begin
  if Unit2.IstAufDemBoden(image1.TCanvas) then begin
    ImgCartman.YSpeed := -20;
end;


Delphi-Quellcode:
[Pascal Error] Unit1.pas(154): E2066 Missing operator or semicolon
[Pascal Error] Unit1.pas(155): E2003 Undeclared identifier: 'YSpeed'
Wieso verlangt der vor der Klammer einen operator oder ein semikolon?
und was hat das mit YSpeed auf sich?

Need help please =(

inherited 4. Dez 2006 19:02

Re: Jump and Run! need help !
 
du hast zwei begin's aber nur ein end ;)

Bartuc 4. Dez 2006 19:57

Re: Jump and Run! need help !
 
das 2. end; hab ich vergessen einzufügen :wink:

aber das scheint irgendwie nicht zu klappen... sonst noch einer eine idee?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz