RetourForum Delphi
Nouveau compte - Se connecter - Perdu votre mot de passe?Recherche: Utilisateur - Message

Index > Forum général > [Résolu] Propriété en lecture seuleNouveau post - Répondre
loco54
visiteur
Question [Résolu] Propriété en lecture seule message: éditerle 30/01/13 à 14h10

Dans un TObjetPerso, je souhaite avoir une propriété soit lisible depuis l'extérieur de l'objet normalement (jusque là, no souci)  mais qui ne puisse être écrite que par un autre TObjetPerso. Est-ce possible ?

ZeuS-[SFX]
visiteur
Message Re: Propriété en lecture seule message: éditerle 30/01/13 à 19h00

Tu peux accéder aux propriété ou fonction privé de la même class donc oui exemple (en Lazarus):

 

code



unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,Unit2;

type
  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
  foo1:TFoo;
  foo2:TFoo;
begin
  foo1:=TFoo.Create();
  foo2:=TFoo.Create();
  ShowMessage(BoolToStr(foo2.Bar,True));
  foo1.SetBarFalse(foo2);
  ShowMessage(BoolToStr(foo2.Bar,True));
end;

{$R *.lfm}

end.



 

code



unit Unit2;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils;

type
    { TFoo }

  TFoo=class
    private
      FBar:Boolean;
    public
      property Bar : Boolean read FBar;
      constructor Create;
      procedure SetBarFalse(foo:TFoo);
  end;
implementation

{ TFoo }

constructor TFoo.Create;
begin
  FBar:=true;
end;

procedure TFoo.SetBarFalse(foo: TFoo);
begin
  foo.FBar:=false;
end;

end.



En faite si mes souvenirs sont bons en Delphi toutes class dans la même unités sont considérés comme des classe "amis" donc tu peux accéder à des méthodes privée ou protégé

loco54
visiteur
Message Re: Propriété en lecture seule message: éditerle 30/01/13 à 19h38

Super Sourire Je vais essayer ça.

loco54
visiteur
Content Re: Propriété en lecture seule message: éditerle 31/01/13 à 12h38

Codage effectué : ça marche au poil ! C'est exactement ça Sourire
Alléluia ! Zeus est un Dieu !

Index > Forum général > [Résolu] Propriété en lecture seuleNouveau post - Répondre
 page 1 sur 1