AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi [function] Ungenügend Forward- oder External-Deklaration
Thema durchsuchen
Ansicht
Themen-Optionen

[function] Ungenügend Forward- oder External-Deklaration

Ein Thema von f4k3 · begonnen am 26. Mai 2008 · letzter Beitrag vom 26. Mai 2008
Antwort Antwort
Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#1

[function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 07:41
Moin Moin liebe DP'ler ,

hab ne funktion geschrieben die sich um das Anmelden von benutzern kümmern soll.
Ich bekomm die Fehlermeldung...

[DCC Fehler] form.login.pas(26): E2065 Ungenügend Forward- oder External-Deklaration: 'TfLogin.Anmeldung'

meine Deklaration sieht folgendermaßen aus:

 function Anmeldung(User, Password: String):Boolean; Die Definition:

Delphi-Quellcode:
function Anmeldung(User, Password: String):Boolean;
begin
  if Databases.tUser.Locate('Benutzername', User, [loCaseInsensitive]) then
  begin
    if Databases.tUser.Locate('Kennwort', Password, [loCaseInsensitive]) then
    begin
      Result:= True;
    end
    else
    begin
      Result:= False;
    end;
  end
  else
  begin
    Result:= False;
  end;
end;
Und der Aufruf:

Delphi-Quellcode:
procedure TfLogin.bitbtnAnmeldenClick(Sender: TObject);
begin
  Anmeldung(eBenutzername.Text, eKennwort.Text);
end;
In der Hilfe steht ...

Diese Fehlermeldung tritt auf, wenn eine forward- oder external-Deklaration einer Prozedur bzw. Funktion oder eine Methodendeklaration in einem Klassen- bzw. Objekttyp vorhanden ist, aber die Prozedur, Funktion oder Methode nicht definiert wird.

Möglicherweise fehlt die Definition, oder ihr Name wurde falsch geschrieben.

Beachten Sie, dass eine Prozedur- oder Funktionsdeklaration im interface-Abschnitt einer Unit einer forward-Deklaration entspricht. Die zugehörige Implementierung (der Quelltext der Routine) muss dann im implementation-Abschnitt erstellt werden.

Ebenso entspricht eine Methodendeklaration in einem Klassen- oder Objekttyp einer forward-Deklaration.


Ich seh aber keinen Fehler

Könnt ihr mir helfen?

Danke schon mal im vorraus

Euer f4k3
Sascha
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#2

Re: [function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 07:43
Hast du die Methode denn auch innerhalb der Form (ich gehe davon aus, dass TfLogin ein TForm ist) deklariert?

Edit:
Quatsch, nehme alles zurück, hab nicht genau genug hingeschaut... dachte es ging um die Methode aus dem letzten Quelltext, nicht um den Aufruf in der Methode
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#3

Re: [function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 07:45
Zitat von leddl:
Hast du die Methode denn auch innerhalb der Form (ich gehe davon aus, dass TfLogin ein TForm ist) deklariert?
Delphi-Quellcode:
type
  TfLogin = class(TForm)
    lAnmeldung: TLabel;
    imgBackground: TImage;
    bitbtnAnmelden: TBitBtn;
    bitbtnAbbrechen: TBitBtn;
    pAnmeldung: TPanel;
    eBenutzername: TEdit;
    eKennwort: TEdit;
    lKennwort: TLabel;
    lBenutzername: TLabel;
    pBenutzerbild: TPanel;
    imgBenutzerbild: TImage;
    procedure FormCreate(Sender: TObject);
    procedure eBenutzernameExit(Sender: TObject);
    procedure eKennwortKeyPress(Sender: TObject; var Key: Char);
    procedure bitbtnAnmeldenClick(Sender: TObject);
    function Anmeldung(User, Password: String):Boolean;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
Ja ist innerhalb des TForm Abschnitts und ja TFLogin ist ein TForm
Sascha
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#4

Re: [function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 07:48
Aha, dann lag ich ja ungewollt doch fast richtig

Dann handelt es sich also bei beiden Funktionen/Prozeduren, die du gepostet hast, um Methoden von TfLogin. Fällt dir dann ein Unterschied in der Definition auf?
Setz mal bei der Definition von "Anmeldung" noch das "TfLogin." davor
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: [function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 07:55
Und setz mal die Deklaration in den private-Bereich.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#6

Re: [function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 08:24
Zitat von RavenIV:
Und setz mal die Deklaration in den private-Bereich.
Aber nur wenn du mir erklärst warum
Sascha
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: [function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 08:33
Ist es eine Methode, die von aussen aufgerufen werden kann, soll, muss? Wenn du diese Fragen mit nein beantwortest, gehört sie in den private-Abschnitt der Klasse und hat nichts im öffentlichen Abschnitt verloren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: [function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 08:43
Zitat von f4k3:
Zitat von RavenIV:
Und setz mal die Deklaration in den private-Bereich.
Aber nur wenn du mir erklärst warum
Weil alles zwischen "FormXY = class(FormAB)" und "private" von der IDE verwaltet wird.
Hier sind die "Eventmethoden" wie OnCreate, OnClick, usw.
Eigene Deklarationen haben dort nichts verloren, bzw. werden ignoriert.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.764 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: [function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 08:47
Zitat von RavenIV:
Zitat von f4k3:
Zitat von RavenIV:
Und setz mal die Deklaration in den private-Bereich.
Aber nur wenn du mir erklärst warum
Weil alles zwischen "FormXY = class(FormAB)" und "private" von der IDE verwaltet wird.
Hier sind die "Eventmethoden" wie OnCreate, OnClick, usw.
Eigene Deklarationen haben dort nichts verloren, bzw. werden ignoriert.
Das halte ich für ein Gerücht. Zu meinen Delphi-Anfängen hab ich das definitiv schon gemacht und sehe, daß es bis D7 immerhin noch läuft.

Dennoch: Guter Stil ist es nicht, denn dafür gibt es die Abschnitte private/protected/public.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#10

Re: [function] Ungenügend Forward- oder External-Deklaration

  Alt 26. Mai 2008, 08:48
Zitat von RavenIV:
Zitat von f4k3:
Zitat von RavenIV:
Und setz mal die Deklaration in den private-Bereich.
Aber nur wenn du mir erklärst warum
Weil alles zwischen "FormXY = class(FormAB)" und "private" von der IDE verwaltet wird.
Hier sind die "Eventmethoden" wie OnCreate, OnClick, usw.
Eigene Deklarationen haben dort nichts verloren, bzw. werden ignoriert.
Zitat von Luckie:
Ist es eine Methode, die von aussen aufgerufen werden kann, soll, muss? Wenn du diese Fragen mit nein beantwortest, gehört sie in den private-Abschnitt der Klasse und hat nichts im öffentlichen Abschnitt verloren.
Okay Danke für die Erklärung ihr Beiden

Funzt alles wunderbar ... und habs nun auch in den Privat-bereich verschoben
Sascha
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:43 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