Forward declaration not solved

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Forward declaration not solved

Beitrag von felix96 »

Hier mal der Quelltext:

Code: Alles auswählen

Tameise=class
  public
    status: boolean;//false=tot; true=lebend;
    wo_bin_ich: tpoint;
    function move(wohin: boolean): boolean;//1hoch 2runter 3rechts 4hoch
    function schaue_um_dich: was_wo;
    procedure entstehe;
    procedure free;
  end;
Fehler:
unit1.pas(22,14) Error: Forward declaration not solved "Tameise.move(Boolean):Boolean;"
unit1.pas(23,14) Error: Forward declaration not solved "Tameise.schaue_um_dich:<record type>;"
unit1.pas(24,15) Error: Forward declaration not solved "Tameise.entstehe;"
unit1.pas(25,15) Error: Forward declaration not solved "Tameise.free;"
unit1.pas(9,18) Hint: Unit "StdCtrls" not used in Unit1
unit1.pas(110) Fatal: There were 4 errors compiling module, stopping

Diese entstehen bei allen 4 prozeduren/fuktionen
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: Forward declaration not solved

Beitrag von theo »

Da hast du die Methoden nicht oder falsch implementiert.
Setze den Cursor irgendwo in die Klassendefinition und drücke Shift+Ctrl+C, dann wird dir das richtige Gerüst erstellt.

Btw. "free" würde ich in Ruhe lassen. Überschreibe lieber Destroy.

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Forward declaration not solved

Beitrag von felix96 »

Danke :P :P :P
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: Forward declaration not solved

Beitrag von theo »

felix96 hat geschrieben:Danke :P :P :P
Es gibt übrigens noch mehr solcher Tricks, die das Programmieren schneller und einfacher machen.
z.B. Drücke dort wo du die Klasse definieren willst CTRL+J, dann wähle z.B class declaration (all parts).
Gib der Klasse einen Namen und einen (oder keinen) Vorfahren, Drücke Shift+Crtl+C und schon bist du am Start! ;-)

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Forward declaration not solved

Beitrag von carli »

1. hau das free SOFORT raus, wenn man gewisse Funktionen falsch oder manchmal auch überhaupt überschreibt, handelt man sich günstigstenfalls Memlecks ein, fortgeschritten kommen dann noch Abstürze bei Programmende und andere Späßchen

2. das ist 'ne schöne Klassendeklaration, aber die Funktionen sind nicht implementiert.
Drück einfach mal strg+shift+c, dann legt er dir an, was dir fehlt.

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: Forward declaration not solved

Beitrag von theo »

Ich möchte noch hinzufügen:
Setze den Cursor irgendwo in die Klassendefinition und drücke Shift+Ctrl+C, dann wird dir das richtige Gerüst erstellt.
Btw. "free" würde ich in Ruhe lassen. Überschreibe lieber Destroy.

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: Forward declaration not solved

Beitrag von theo »

Und dann möchte ich noch sagen:

Setze den Cursor irgendwo in die Klassendefinition und drücke Shift+Ctrl+C, dann wird dir das richtige Gerüst erstellt.
Btw. "free" würde ich in Ruhe lassen. Überschreibe lieber Destroy.

Hat nix mit dir zu tun felix96, aber mit diesem Thread http://www.lazarusforum.de/viewtopic.php?f=26&t=3915" onclick="window.open(this.href);return false;
Und weil ich nicht verstehe, warum man alles nochmal sagen muss, als ob es nicht gesagt worden wäre.
Ich finde das unanständig.

Antworten