probleme avec property dans une class
Bonjour,
Me re-voici avec une nouvelle question sur les classes :aie:.
Si on part de ce code qui marche:
Code:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
type
Tdata = class
private
Int:LongInt;
Reel:double;
Text:string;
published
property v : LongInt read Int write Int; //overload;
//property Value : double read ReadDouble write WriteDouble; overload;
//property Value : string read ReadString write WriteString; overload;
public
constructor Create;
destructor Destroy;
public
procedure SetInt(value: LongInt);
// procedure SetDouble(value: Double);
// procedure SetString(value: String);
end;
var
Form1: TForm1;
D: Tdata;
implementation
{$R *.dfm}
constructor Tdata.Create();
begin
Int:=0;
Reel:=0;
Text:='0';
end;
destructor Tdata.Destroy;
begin
end;
procedure Tdata.SetInt(value: LongInt);
begin
Int:=value;
Reel:= value;
Text:=inttostr(value);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Caption:='OK';
D:=Tdata.Create;
D.SetInt(6);
end;
end. |
Si je change la decalartion que ma class en marquant (cf parti en rouge):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| type
Tdata = class
private
Int:LongInt;
Reel:double;
Text:string;
published
property v : LongInt read Int write SetInt; //overload;
//property v : double read ReadDouble write WriteDouble; overload;
//property v : string read ReadString write WriteString; overload;
public
constructor Create;
destructor Destroy;
public
procedure SetInt(value: LongInt);
// procedure SetDouble(value: Double);
// procedure SetString(value: String);
end; |
Delphi me jete avec le message d'erreur:
[Erreur] Unit1.pas(26): Identificateur de champ ou de méthode attendu
Je ne comprends vraiment pas pourquoi... quelqu'un peut il me dire ce qui cloche dans ma déclaration?
Aprés j'ai une deuxième question: peux t-on faire un overload sur une property ? :roll: