Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Delphi Anfänger problem

Empfohlene Antworten

Veröffentlicht

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

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.

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

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.

oder so ...


Form1 = class(TForm)


  pulic

    procedure TForm1.MyProcedure;

  end;



implementation


procedure TForm1.MyProcedure;

begin


end;


end.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.