Zitat von
DeddyH:
Nochmal:
Zitat:
function TWorkstationSearch.DBSearch;
Die Funktion hat keinen Rückgabewert.
Das ist nicht ganz richtig. Nach einer Vorwärts-Deklaration -- und nicht nur eine
forward-Deklaration, sondern auch die Nennung einer Methode innerhalb einer Klassendeklaration und jede Deklaration im
interface-Teil stellen eine solche dar -- kann die Angabe der Parameter und Rückgabewerte bei der Implementierung entfallen. Ausnahmen sind allerdings überladene Prozeduren, Funktionen und Methoden; hier sind die Parameter und Rückgabewerte notwendig, damit der Compiler sie auseinander halten kann. Beispiel:
Delphi-Quellcode:
unit Test;
interface
type
TMyClass =
class(TObject)
function FuncOne(a: Integer): Integer;
procedure ProcOne(
const s:
string);
end;
function FuncTwo(
const x, y: Double): Double;
implementation
uses
Dialogs, SysUtils;
function FuncThree(
const s:
string):
string;
forward;
function TMyClass.FuncOne;
begin
Result := 2 * a;
end;
procedure TMyClass.ProcOne;
begin
ShowMessage(s);
end;
function FuncTwo;
begin
Result := x + y;
end;
function FuncThree;
begin
Result := UpperCase(s);
end;
end.