IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Porté d'une variable


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 49
    Points
    49
    Par défaut Porté d'une variable
    Bonjour,

    Je veux créer un objet pour gérer des fichiers. Pour chaque objet que je crée j'ai une variable "idx" différente qui est propre a l'objet. Mon probleme est que je ne vois pas ou la déclarer pour ne pas avoir de messages d'erreur "EAccesViolation"

    unit UGestFiles;

    interface

    Type TGestFiles = class
    nomfichier : string;
    heure : integer;
    taille : integer;

    constructor Create;

    //fonctions
    function getindice : integer;
    function getMaxIndice : integer;
    function getMinIndice : integer;
    function getNomFichier(indice : integer) : string;
    function getHeure(indice : integer) : integer;
    function getTaille(indice : integer) : integer;

    procedure setFile(nom : string; heure, taille : integer);

    end;

    var TabFiles : array of TGestFiles;
    idx : integer;


    implementation

    constructor TGestFiles.Create;
    begin
    idx := 0;
    end;
    J'ai une erreure dans "Constructor"

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Le bout de code que tu viens de créer, il compile ou pas?
    Est-ce c'est lorsque tu souhaites créer un nouvel objet que ca plante?

    Chez moi, en testant :

    Nouvelle classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    unit Unit2;
     
    interface
     
    Type TGestFiles = class
     
    private
    nomfichier : string;
    heure : integer;
    taille : integer;
     
    public
    constructor Create;
     
    //fonctions
     
     
    end;
     
    var TabFiles : array of TGestFiles;
    idx : integer;
     
    implementation
     
    constructor TGestFiles.Create;
    begin
    idx := 0;
    end;
     
    end.
    et pour la création d'un nouvelle objet de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var
      Form1: TForm1;
      a:TGestFiles;
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    a:=TGestFiles.Create;
    end;
     
    end.
    Ca passe.
    Aussi, oublie pas de mettre tes sections public, private ....

  3. #3
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 49
    Points
    49
    Par défaut
    Ouais ça compile tant que je ne l'appelle pas, mais dans une autre unité je crée 3 objets de ce type et je pense qu'ils utilisent tous la meme variable idx et ça me fait une erreure autrement ouais ça compile tout seul

  4. #4
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 49
    Points
    49
    Par défaut
    Ah le C...... !!!! Tu as raison je me suis planté, je les ai mal appelé, au lieu de faire a := TGesfiles.Create; je faisais a.create; autant pour moi ! Merci de ton aide et excuse moi de t'avoir dérangé tu m'as bien aidé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [shell][débutante] portée d'une variable
    Par nounou dans le forum Linux
    Réponses: 4
    Dernier message: 19/07/2007, 14h53
  2. Quelle est la portée d'une variable dans une page ASP ?
    Par sauceaupistou dans le forum ASP
    Réponses: 3
    Dernier message: 19/03/2007, 18h16
  3. Portée d'une variable dans une boucle FOR ?
    Par Neo41 dans le forum C++
    Réponses: 20
    Dernier message: 17/11/2006, 11h14
  4. [XSLT] pb portée d'une variable
    Par NPortmann dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 23/05/2006, 15h53
  5. Portée d'une variable globale
    Par Giill dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 27/12/2005, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo