AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fehlender Parametertyp!? Und weiteres Problem...
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlender Parametertyp!? Und weiteres Problem...

Ein Thema von Quecki · begonnen am 9. Jun 2006 · letzter Beitrag vom 12. Jun 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 02:58
Hi, probiers doch mal so:
Delphi-Quellcode:
type
  TForm2 = class(TForm)
  private
    { Private-Deklarationen }
  public
    procedure Abfrage;
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

{ TForm2 }

procedure TForm2.Abfrage;
begin
 if Image2.Left + Image2.Width > Panel1.Left then
  // etc.
end;

end.
Da Self ein "versteckte Parameter" ist, der auf die aufrufende Instanz von TForm2 zeigt, sollte man lieber keinen neuen Parameter einführen, der auch Self heißt. Das "pascal" ist eine der Delphi-Referenz durchsuchenAufufkonventionen und kann wie schon gesagt einfach weggelassen werden. Das "Form2." vor jeder Komponente kannst du dir ebenfalls sparen

Gruß, Dani
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 06:43
also erstmal war die Funktion im falschen Abschnitt. (dort oben sollten nur Funktionen hinn die von der IDE automatisch erzeugt werden). Wozu du das Self als Parameter übergeben wolltest weißt du vermutlich selbst nicht. In deinem Fall kannst du es weg lassen. Und dann musst du im Implementationsteil noch den Klassennamen davor schreiben:
Delphi-Quellcode:
type
  TForm2 = class(TForm)
  //in diesem Abschnitt solltest du alles lassen wie es ist und nix hinzufügen
  private
    //hier kann deine Procedure rein
    procedure Abfrage();
  public

  end;
[...]
implementation

//und hier musste unbedingt das "TForm2." davor damit klar ist zu welcher Klasse die Procedure gehört
procedure TForm2.Abfrage();
begin

end;
Benutze "Self" möglichst nie als Parameter da dies ein reservierter Variablenname für die Klasseninstanz ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Quecki

Registriert seit: 20. Mär 2006
13 Beiträge
 
#13

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 18:02
Zitat von Dani:
Das "Form2." vor jeder Komponente kannst du dir ebenfalls sparen
Nein, kann ich zumindest in der Version, wie es jetzt ist, nicht ^^
Werd gleich mal die Varianten versuchen ^^
  Mit Zitat antworten Zitat
Quecki

Registriert seit: 20. Mär 2006
13 Beiträge
 
#14

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 18:11
Cool... Danke, es geht... Auch wenn es inhaltlich noch nicht richtig is... aber die Prozedur geht... Vielen Dank... Macht das einen Unterschied, ob das bei Public oder Private is? Ich habs jetzt bei Private und es geht... Und muss das in den {}- Klammern da stehen?
  Mit Zitat antworten Zitat
Benutzerbild von richie
richie

Registriert seit: 21. Apr 2006
Ort: Dresden
127 Beiträge
 
#15

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 18:20
1. Ja, das macht einen Unterschied. Außerhalb der Unit kann man auf in private deklarierte Variablen und Prozeduren/Funktionen nicht zugreifen.
2. NICHT in die geschweiften Klammern setzen. Das ist ein Kommentar.
Robert
  Mit Zitat antworten Zitat
Quecki

Registriert seit: 20. Mär 2006
13 Beiträge
 
#16

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 18:35
Ich wollte nur wissen, ob die Klammern da stehen bleiben müssen... Habs jetzt darüber gesetzt und das bleibt erstmal so ^^ Werde mich jetzt nochmal an den Inhalt machen... ^^
  Mit Zitat antworten Zitat
Benutzerbild von richie
richie

Registriert seit: 21. Apr 2006
Ort: Dresden
127 Beiträge
 
#17

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 19:33
Ach so, na das ist egal!
Robert
  Mit Zitat antworten Zitat
Quecki

Registriert seit: 20. Mär 2006
13 Beiträge
 
#18

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 20:26
Hi,
jetzt habe ich ein anderes Problem, was aber nichts mit der Form, sondern mit dem Inhalt zu tun hat... Das ganze soll ein einfaches Spielchen werden, in dem man ein Image durch ein Level fliegen lassen soll... Als Schwerkraft haben wir einen Timer (Timer1) genommen, der die Figur halt immer ein wenig nach unten setzt (Image2.Top +2)... Immer, wenn der "Spieler" auf einem Panel landet, soll natürlich die Schwerkraft ausgestzt werden... Und wenn man gegen ein Panel von der Seite läuft, soll der Button, der in die Richtung, die weiter in das Panel führen würde, deaktiviert werden... Allerdings funktioniert das irgendwie nicht so gant... Soll ich das ganze Programm mal posten, damit mir vielleicht jemand helfen kann? Wäre echt klasse, weil ich mich irgendwie gerade verrannt habe...
Vielen Dank schonmal im voraus,
in diesem Sinne,
alles Gute,
Quecki
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 20:32
Zitat:
Soll ich das ganze Programm mal posten, damit mir vielleicht jemand helfen kann?
Wenn die jemand helfen soll, wäre das nützlich.
Markus Kinzler
  Mit Zitat antworten Zitat
Quecki

Registriert seit: 20. Mär 2006
13 Beiträge
 
#20

Re: Fehlender Parametertyp!?

  Alt 10. Jun 2006, 20:37
Hier is das Programm... Falls es zu groß sein sollte, werde ich es per Rapidshare hochladen...
Angehängte Dateien
Dateityp: rar gmas_v0.7_107.rar (2,98 MB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz