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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    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
    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 confirmé
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    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 confirmé
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    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