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 :

Pb EAccessViolation dans le create d'une classe perso.


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de [Silk]
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2005
    Messages : 198
    Par défaut Pb EAccessViolation dans le create d'une classe perso.
    Salut,
    je suis en train de faire un petit programme de comptabilité, et je me suis créé une classe TCompte pour gérer facilement un petit compte. Mais dans le create j'ai des acces violation sur chacunes des lignes de mon code
    Citation Envoyé par delphi
    ---------------------------
    Notification d'une exception du débogueur
    ---------------------------
    Le projet Gestionnaire_de_comptes.exe a provoqué une classe d'exception EAccessViolation avec le message 'Violation d'accès à l'adresse 00505BAB dans le module 'Gestionnaire_de_comptes.exe'. Ecriture de l'adresse 0000001C'. Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.
    ---------------------------
    OK Aide
    ---------------------------
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TMainForm.Button1Click(Sender: TObject);
    begin
    MainCompte.create(Grid,Chart,Query);
    end;
    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
     
    constructor TCompte.create(aGrid: TDbGrid; aChart: TChart; aQuery: TQuery);
    begin
      inherited Create;
      FSolde := 0;
      FName := '';
      FDirectory := '';
      FIsDefault := false;
      FKeepHDuring := 12;
      FGrapheOptions.GrapheType := gtLine;
      FGrapheOptions.Affichage := a3D;
      FGrapheOptions.Precision := pWeek;
      FGrapheOptions.ValeursVisibles := false;
      FGrid.Assign(aGrid);
      FChart.Assign(aChart);
      FQuery.Assign(aQuery);
      FStatus := csInitialized;
    end;
    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
     
    TCompte = class
      private
        FName : string;
        FDirectory : string;
        FIsDefault : boolean;
        FKeepHDuring : integer;
        FGrapheOptions : TGrapheOptions;
        FIni : TIniFile;
        FSolde : integer;
        FGrid : TDbGrid;
        FChart : TChart;
        FQuery : TQuery;
        FStatus : TCompteStatus;
        Function DelDir(Dir : string): boolean;
      public
        constructor create(aGrid : TDbGrid; aChart : TChart; aQuery :TQuery);reintroduce;
    [...]
    Pensant que ça venait du fait que j'apelle ce create dans le Oncreate de ma Form, j'ai mi un bouton pour tester après la création, j'ai vérifié qu'il y avait tout ce qu'il faut dans les uses, mais toujours le même problème.

    Je n'ai plus d'erreur seulement après avoir mis en commentaire toutes les lignes du create...

    Si vous avez une petite idée d'où ça peut venir n'hesitez pas...

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MainCompte.create(Grid,Chart,Query);
    écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MainCompte:=Tcompte.create(Grid,Chart,Query);

  3. #3
    Membre confirmé Avatar de [Silk]
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2005
    Messages : 198
    Par défaut

    Je me suis fait eu ! j'ai honte d'avoir fait une erreur aussi basique...
    désolé d'avoir pollué le forum avec mon post qui sert à rien
    merci pour ta reponse Graffito

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

Discussions similaires

  1. Ecriture dans le WebRoot depuis une class Action
    Par muad'dib dans le forum Struts 1
    Réponses: 0
    Dernier message: 29/09/2008, 20h14
  2. Réponses: 1
    Dernier message: 06/05/2008, 10h10
  3. Stocker une instance d'une classe perso dans un SharedObject ?
    Par Pokefan + dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 30/08/2007, 10h04
  4. Réponses: 3
    Dernier message: 06/11/2005, 18h02

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