xpmich
Messages postés62Date d'inscriptionlundi 29 novembre 2004StatutMembreDernière intervention11 mars 2010
-
28 oct. 2008 à 11:55
xpmich
Messages postés62Date d'inscriptionlundi 29 novembre 2004StatutMembreDernière intervention11 mars 2010
-
28 oct. 2008 à 12:28
Bonjour,
J’ais un petit souci lors de la création d’un objet.
voici mon code de l'Unit2 :
/******************************************************************************
unit Unit2;
interface
type
MonObjet = class
private
DonneePrivee : string;
public
DonneePublic : String;
Constructor create;
Destructor destroy; override; //surcharge du destructeur de TObject
procedure EcrireValeur(valeur : string);
procedure LireValeurPublic(var valeur : string);
procedure LireValeurPrivee(var valeur : string);
end;
implementation
constructor MonObjet.create;
begin
DonneePrivee := 'Privee';
DonneePublic := 'public';
end;
destructor MonObjet.destroy;
begin
inherited destroy;
end;
procedure MonObjet.EcrireValeur(valeur : string);
begin
valeur:= DonneePublic;
end;
procedure MonObjet.LireValeurPublic(var valeur : string);
begin
valeur:= DonneePublic;
end;
procedure MonObjet.LireValeurPrivee(var valeur : string);
begin
valeur:= DonneePrivee;
end;
end.
/******************************************************************************
Voici mon code implément :
/******************************************************************************
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
Unit2;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
UnObjet : MonObjet;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
result : string;
begin
UnObjet.create;
result := UnObjet.DonneePublic;
MessageDlg(result,mtInformation,mbOKCancel,0);
UnObjet.LireValeurPublic(result);
MessageDlg(result,mtInformation,mbOKCancel,0);
UnObjet.LireValeurPrivee(result);
MessageDlg(result,mtInformation,mbOKCancel,0);
UnObjet.EcrireValeur('Bojour');
UnObjet.LireValeurPublic(result);
MessageDlg(result,mtInformation,mbOKCancel,0);
end;
end.
/******************************************************************************
Mon programme s'arrete à la ligne que j'ai mis en rouge: "EAccess Violation" découlant du défaut de la ligne que j'ais mis en vert.
J'ais passé la matinée sur les forum... Whalou, rien trouvé. Auriez vous une explication ?