Einzelnen Beitrag anzeigen

lusthansa

Registriert seit: 7. Mär 2013
9 Beiträge
 
#1

Anfrage wegen der Fehlermeldung ungenügende Forward- oder Externaldeklaration

  Alt 11. Mär 2013, 23:09
Delphi-Version: XE2
Hallo, Leute,

ich programmiere als Anfänger gerade in Embarcadero RAD Studio XE3. Ich gehe die Anfängerbeispiele zum Programmieren mit der Delphi-Sprache durch und verwende dazu Doberenz, W. & Gewinnus, T. (2007). Borland Delphi 7 - Grundlagen, Profiwissen, Kochbuch (Das umfassende Handbuch für die Win32-Anwendungsentwicklung). Ich bin im Beispiel, wo man einen "Pieptonunterdrücker" programmieren soll. Dazu wird folgender Quelltext geliefert:

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if CheckBox1.Checked then if key = #13 then key := #0
end;
Dieser wurde insgesamt wie folgt eingefügt:

Delphi-Quellcode:
unit Pieptonunterdruecken;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    CheckBox1: TCheckBox;
    Button1: TButton;
    procedure Edit1Change(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if CheckBox1.Checked then if key = #13 then key := #0
end;

end.
Ich bin dann auf Start F9 gegangen. Da kam unten folgende Meldung:

Abhängigkeiten des Projekts werden überprüft...
Compilieren von Project2.dproj (Debug, Win32)
brcc32 Befehlszeile für "Project2.vrc"
c:\program files (x86)\embarcadero\rad studio\10.0\bin\cgrc.exe -c65001 "Project2.vrc" -foProject2.res
dcc Befehlszeile für "Project2.dpr"
c:\program files (x86)\embarcadero\rad studio\10.0\bin\dcc32.exe -$O- -$W+ --no-config -M -Q -TX.exe
-AGenerics.Collections=System.Generics.Collections; Generics.Defaults=System.Generics.Defaults;WinType s=Windows;WinProcs=Windows;DbiTypes=BDE;
DbiProcs=BDE;DbiErrs=BDE -DDEBUG -E.\Win32\Debug -I"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\debug\DE";"c:\program files
(x86)\embarcadero\rad studio\10.0\lib\Win32\debug";"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\release\DE";"c:\program files
(x86)\embarcadero\rad studio\10.0\lib\Win32\release";"\\psf\Home\Documen ts\RAD Studio\10.0\Imports";"c:\program files (x86)\embarcadero\rad
studio\10.0\Imports";"C:\Users\Public\Documents\RA D Studio\10.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\10.0\include"
-LE"C:\Users\Public\Documents\RAD Studio\10.0\Bpl" -LN"C:\Users\Public\Documents\RAD Studio\10.0\Dcp" -N0.\Win32\Debug -NSWinapi;System.Win;Data.Win;
Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;X ml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touc h;Vcl.Samples;Vcl.Shell; -O"c:\program files
(x86)\embarcadero\rad studio\10.0\lib\Win32\release";"\\psf\Home\Documen ts\RAD Studio\10.0\Imports";"c:\program files (x86)\embarcadero\rad
studio\10.0\Imports";"C:\Users\Public\Documents\RA D Studio\10.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\10.0\include" -R"c:\program files
(x86)\embarcadero\rad studio\10.0\lib\Win32\release\DE";"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\release";
"\\psf\Home\Documents\RAD Studio\10.0\Imports";"c:\program files (x86)\embarcadero\rad studio\10.0\Imports";"C:\Users\Public\Documents\RA D
Studio\10.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\10.0\include" -U"c:\program files (x86)\embarcadero\rad
studio\10.0\lib\Win32\debug\DE";"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\debug";"c:\program files (x86)\embarcadero\rad
studio\10.0\lib\Win32\release\DE";"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\release";"\\psf\Home\Documen ts\RAD
Studio\10.0\Imports";"c:\program files (x86)\embarcadero\rad studio\10.0\Imports";"C:\Users\Public\Documents\RA D Studio\10.0\Dcp";"c:\program files
(x86)\embarcadero\rad studio\10.0\include" -V -VN -NB"C:\Users\Public\Documents\RAD Studio\10.0\Dcp" -NH"C:\Users\Public\Documents\RAD
Studio\10.0\hpp" -NO.\Win32\Debug Project2.dpr
[dcc32 Fehler] Pieptonunterdruecken.pas(28): E2003 Undeklarierter Bezeichner: 'Edit1KeyPress'
[dcc32 Fehler] Pieptonunterdruecken.pas(28): E2029 ';' erwartet, aber '(' gefunden
[dcc32 Fehler] Pieptonunterdruecken.pas(28): E2029 ';' erwartet, aber ')' gefunden
[dcc32 Fehler] Pieptonunterdruecken.pas(30): E2003 Undeklarierter Bezeichner: 'CheckBox1'
[dcc32 Fehler] Pieptonunterdruecken.pas(14): E2065 Ungenügende Forward- oder External-Deklaration: 'TForm1.Edit1Change'
[dcc32 Fataler Fehler] Project2.dpr(5): F2063 Verwendete Unit 'Pieptonunterdruecken.pas' kann nicht compiliert werden
Misslungen
Verstrichene Zeit: 00:00:04.7

An welcher Stelle könnte er denn Klammern statt Semikolons gefunden haben? Was ist eine Ungenügende Forward- oder External-Deklaration? Wie kann ich den Code verbessern?

Danke und Gruß, lusthansa

PS: Dieses Mal habe ich nicht den Fehler des Crosspostings gemacht; die Frage steht wirklich nur hier
  Mit Zitat antworten Zitat