Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Warum Fehlermeldung: Ungenügende Forward- oder External... (https://www.delphipraxis.net/109425-warum-fehlermeldung-ungenuegende-forward-oder-external.html)

mo_greene 1. Mär 2008 01:13


Warum Fehlermeldung: Ungenügende Forward- oder External...
 
Hallo bekommen immer folgende Fehlermeldung :cry: :
Zitat:

[Pascal Fehler]uDivisor.pas(14): E2065 Ungenügende Forward- oder External-Deklaration: 'TDivisor.setZahl'
Zitat:

[Pascal Fehler]uDivisor.pas(15): E2065 Ungenügende Forward- oder External-Deklaration: 'TDivisor.getDivisor'
bei folgendem Code:
Delphi-Quellcode:
unit uDivisor;

interface

uses
  Windows, SysUtils;

type
  TDivisor = class (TObject)
  private


  public
      procedure setZahl (a : Integer); //Hier ist Fehler Nr.1
      function getDivisor : integer;  //Hier ist Fehler Nr.2

  end;

var
   Zahl : Integer;

implementation

{$R *.dfm}

procedure setZahl (a : Integer);
begin
  Zahl := a;
end;

function getDivisor : integer;
var
  a : Integer; //durchlaufende Zahl
  ergebnis : real;
  str : string;
  checkvar : boolean; //Wenn Teiler, dann true
begin
  a := 1;
  checkvar := false;
 repeat
  ergebnis := Zahl / a;
  str := FloatToStr(ergebnis);
  if length(str)=1 then
    checkvar := true;
 until checkvar = true ;
  Result := StrToInt(str);
end;

end.
Weiß leider nicht woran es liegt :oops:

Vielen Dank für die Hilfe!

Muetze1 1. Mär 2008 01:15

Re: Warum Fehlermeldung: Ungenügende Forward- oder External.
 
Gegenfrage: Kannst du mir den Unterschied zwischen einer Procedure und einer Methode sagen? Wenn ja, woran erkennt man diesen im Quelltext?

mo_greene 1. Mär 2008 01:16

Re: Warum Fehlermeldung: Ungenügende Forward- oder External.
 
Procedure führt etwas aus und Methode ist doch ein Überbegriff für Procedures und Functions oder?

Muetze1 1. Mär 2008 01:23

Re: Warum Fehlermeldung: Ungenügende Forward- oder External.
 
Nein. Procedure und Funktionen sind unabhängig und diese kannst du frei deklarieren und implementieren. Methoden sind die Procedure/Funktionen einer Klasse. Diese sind explizit in der jeweiligen Klasse definiert und gehören zu dieser. Damit im Implementation Teil nun noch zuordbar ist, was zu einer Procedure und was zu einer Klasse gehört, müssen Methoden und Klassen unterschieden werden.

Beispiel:
Delphi-Quellcode:
Interface

  // Klasse
type
  TTest = class
      // Methode deklarieren
    function TestMe: boolean;
  end;

  // normale Funktion deklarieren
Function TestMe: boolean;

...

Implementation

...
So, im Implementation Teil müsstest du mir nun mal helfen. TestMe als Funktion, also ohne Klasse, soll false zurück liefern, während die TestMe Methode der Klasse TTest true zurück liefern soll. Wie mach ich das?

phXql 1. Mär 2008 01:40

Re: Warum Fehlermeldung: Ungenügende Forward- oder External.
 
Wenn du das weisst, hast du die 32.000 Euro Grenze geknackt! :roll:

gmc616 1. Mär 2008 02:16

Re: Warum Fehlermeldung: Ungenügende Forward- oder External.
 
Shift-Strg-C

Krieg ich jetzt die 32.000 ??

Dax 1. Mär 2008 02:36

Re: Warum Fehlermeldung: Ungenügende Forward- oder External.
 
Zitat:

Zitat von gmc616
Shift-Strg-C

Krieg ich jetzt die 32.000 ??

Ja, aber vom Konto abgebucht.

inherited 1. Mär 2008 09:49

Re: Warum Fehlermeldung: Ungenügende Forward- oder External.
 
Deswegen sollte man nicht von Anfang an jeglichen Komfort den TD bietet kommentarlos hinnehmen, sondern auch mal selber Tippen!

mo_greene 1. Mär 2008 11:45

Re: Warum Fehlermeldung: Ungenügende Forward- oder External.
 
Zitat:

Zitat von Muetze1
Nein. Procedure und Funktionen sind unabhängig und diese kannst du frei deklarieren und implementieren. Methoden sind die Procedure/Funktionen einer Klasse. Diese sind explizit in der jeweiligen Klasse definiert und gehören zu dieser. Damit im Implementation Teil nun noch zuordbar ist, was zu einer Procedure und was zu einer Klasse gehört, müssen Methoden und Klassen unterschieden werden.

Beispiel:
Delphi-Quellcode:
Interface

  // Klasse
type
  TTest = class
      // Methode deklarieren
    function TestMe: boolean;
  end;

  // normale Funktion deklarieren
Function TestMe: boolean;

...

Implementation

...
So, im Implementation Teil müsstest du mir nun mal helfen. TestMe als Funktion, also ohne Klasse, soll false zurück liefern, während die TestMe Methode der Klasse TTest true zurück liefern soll. Wie mach ich das?

Weiß ich leider nicht :oops: Krieg ich die 32000€ wohl nicht :cry:

mkinzler 1. Mär 2008 11:58

Re: Warum Fehlermeldung: Ungenügende Forward- oder External.
 
Das sind aber Grundlagen der OOP, also eher 200€ Frage


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.
Seite 1 von 3  1 23      

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