Création objet,

Résolu
xpmich Messages postés 62 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 11 mars 2010 - 28 oct. 2008 à 11:55
xpmich Messages postés 62 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 11 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 ?

merci davance.
Xpmich.

2 réponses

BernieNoel68 Messages postés 92 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 20 novembre 2009 1
28 oct. 2008 à 12:07
UnObket := MonObjet.Create ;
3
xpmich Messages postés 62 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 11 mars 2010
28 oct. 2008 à 12:28
Logique, merci du coup de main.
Xpmich.
0
Rejoignez-nous