Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

hab da ein Beispiel vom Buch abgetippt nur irgendwie krieg ich da immer die Fehlermeldung:

[Fehler] Unit1.pas(23): Ungenügende Forward- oder External-Deklaration: 'TForm1.Button2Click'

Hab in dem Ding 2 Buttons drin hab diese auch jeweils bei Ereignisse im Objektinspektor "angemedet". Weiß jetzt nicht was er da von mir will !

cu Linux Newbie

Geschrieben

Der Fehler tritt auf, wenn eine deklarierte Prozedur nicht erkannt wurde, weil sie Unterschiede aufweist.

Die Prozedur im Implementierungteil muss ungefähr so aussehen :


procedure TForm1.Button2Click (Sender: TObject);

begin


end;

Mach´ einfach folgendes :

Lösch´ die Deklaration unter "Ereignisse" / "OnClick" von Button2.

Lösch` die Deklaration im oberen Teil der Unit.

Lösch´ die Prozedure im Implementierungsteil (vorher die Sachen zwischen "Begin" und "end" natürlich kopieren)

Dann gehst du auf den Button, auf "Ereignisse" und im "OnClick"-Feld einfach einen Doppelklick machen. Dann werden die Deklarationen automatisch geschrieben und funktionieren.

Dann einfach den kopierten Teil in der Prozedur wieder einfügen und fertig.

Geschrieben

danke für die schnelle antwort,

dass mit dem doppelklick hätte auch in einem meiner schlauen bücher erwähnt werden können ! so spart man sich solche doofen fehler andenen man dann seine zeit verplempern muss.

also danke nochmal

cu Linux Newbie

Geschrieben
Original geschrieben von Linux Newbie

dass mit dem doppelklick hätte auch in einem meiner schlauen bücher erwähnt werden können ! so spart man sich solche doofen fehler andenen man dann seine zeit verplempern muss.

Nun, du kannst dir aber sicher sein, dass bei so einem Fehler grundsätzlich etwas im Implementierungsteil nicht stimmt. Meistens ist es dann so, dass dort anstelle von


procedure TForm1.Prozedurname;

begin


end;

Einfach nur

procedure Prozedurname;

begin


end;

steht. Dann kann der Compiler die Prozedur nicht zuordnen und gibt diese Fehlermeldung aus. Es gibt da zwar Ausnahmen und andere Möglichkeiten, aber da du ja Anfänger bist, will ich dich nicht gleich verwirren. ;)

Aber wenn du Ereignisse einer Komponente benutzen willst, dann benutz´ einfach den Doppelklick, das geht schneller.

Geschrieben

oder so ...


Form1 = class(TForm)


  pulic

    procedure TForm1.MyProcedure;

  end;



implementation


procedure TForm1.MyProcedure;

begin


end;


end.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...