Einzelnen Beitrag anzeigen

jottkaerr

Registriert seit: 2. Jul 2007
Ort: Tuttlingen
81 Beiträge
 
Delphi 10.1 Berlin Professional
 
#17

Re: E2010 Inkompatible Typen: 'Integer' und 'Pointer'

  Alt 12. Aug 2008, 13:53
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.
Jürgen Krämer
Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
  Mit Zitat antworten Zitat