Autor Beitrag
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Do 12.11.09 22:00 
Hi DF!

Ich kriege - zu meinem eigenen Erschrecken - nicht mal einen popeligen Konstruktor hin.

ausblenden Delphi-Prism-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
namespace BeeGame;

interface

uses
  System.Collections.Generic,
  System.Linq,
  System.Text;

type
  Game = public class
  private
    players : List<Player>;
  protected
  public
    constructor;
    method Run; empty;
    method NextStep; empty;
  end;
  
implementation

constructor Game (PlayerList : List<Player>);
begin
  players := PlayerList;
end;

end.


Aber das will er nicht nehmen! Fehler 1 (PE187) Keine passende Konstruktordeklaration für Klasse "BeeGame.Game" H:\Backup\Borland\Delphi Prism\BeeWars\BeeWars\BeeWars\Game.pas 24 BeeGame

Wenn ich den Parameter weglasse ist alles wunderbar ;)

Aber diesen Parameter brauch ich leider unbedingt - und später wahrscheinlich noch mehrere :)

Was mach ich falsch?

_________________
Die Lösung ist nicht siebzehn.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Chefentwickler
Beiträge: 20334
Erhaltene Danke: 2118

Win 10
C# (VS 2017)
BeitragVerfasst: Do 12.11.09 22:08 
Wie bei jeder anderen Methode (auch im "normalen" Delphi ;-)) muss die Signatur in Interface und Implementation übereinstimmen. Die Parameter müssen also "oben" und "unten" vorkommen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Mitmischer 1703 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Do 12.11.09 22:11 
Wow... geht ;)

Also so:
ausblenden Delphi-Prism-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
//.....
    constructor  (PlayerList : List<Player>);
    method Run; empty;
    method NextStep; empty;
  end;
  
implementation

constructor  Game (PlayerList : List<Player>);
begin
  players := PlayerList;
end;


Aber wieso geht denn constructor (PlayerList : List<Player>)? constructor Game (PlayerList : List<Player>) geht nicht :(

_________________
Die Lösung ist nicht siebzehn.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Chefentwickler
Beiträge: 20334
Erhaltene Danke: 2118

Win 10
C# (VS 2017)
BeitragVerfasst: Do 12.11.09 22:13 
Das wäre doch doppel gemoppelt. Im Interface steht der Konstruktor ja schon in der Klasse, da muss man den Klassennamen ja dann nicht nochmal angeben.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".