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

Bases de données Delphi Discussion :

Un test alias provoque une erreur violation


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut Un test alias provoque une erreur violation
    Bonjour

    J'ai procédé à un test sur l'alias avant d'ouvrir l'application.
    Avant de procéder ce test, je n'avais pas d'erreur.

    Voici la fonction et la procédure qui me créer une erreur de violation.
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    function testalias(alias:string):boolean;
    var listalias:Tstringlist;
        i,j:integer;
    begin
     listalias:=tstringlist.Create;
     j:=0;
     listalias.Clear;
     session.GetAliasNames(listalias);
     //comparaison
     for i:=0 to listalias.Count-1 do
     begin
       if alias = listalias.strings[i] then j:=j+1 else j:=j+0;
     end;
     listalias.Free;
     if j = 1 then  result:=true else result:=false;
    end;
     
    procedure creeralias(alias,chemindb:string);
    begin
     try
      session.AddStandardAlias(alias,chemindb,'Paradox');
      session.SaveConfigFile;
      messagedlg('alias facture créé',mtInformation,[mbOk],0);
     finally
           //
     end;
     
    end;
     
    rocedure Tdata.DataModuleCreate(Sender: TObject);
    begin
     //test de l'existence de l'alias
     if testalias('facture')=false then creeralias('facture',chemin);
     Tclient.Open;
     Tfact.Open;
     TfactD.Open;
     tproduits.Open;
     tintervention.Open;
     tCp.Open;
     tunite.Open;
     tdepenses.Open;
     tfournisseur.Open;
     treglement.Open;
     //Controle du fichier pour le suivi de la codification des clients
     if not fileexists(chemin+'codif.ini') then
      begin
       razcodif;
      end;
    end;
    Une solution ou voyez-vous mon erreur.

    Merci de vos pistes
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

  2. #2
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    bonjour,
    @ BX:dans tin topic :http://www.developpez.net/forums/d73...istance-alias/
    il me semble que je t'ai proposé une solution qui marche à tous les coups.
    mets ce code(déjà cité dans le topic) dans l'événement "Oncreate" de ta fiche principale:
    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
    procedure TForm1.FormCreate(Sender: TObject);
    var
      SessionsList: TStringList;
    const
      AppAlias = 'le_nom_de_ton_Alias';
    begin
        SessionsList := TStringList.Create;
         Session.GetAliasNames(SessionsList);
        //On verifie si l'alias existe déjà
       if SessionsList.IndexOf(AppAlias) = -1 then //"-1" alias n'est pas trouvé
        begin
          //si l'alias n'existe pas, on va le créer
          Session.AddStandardAlias(AppAlias, ExtractFilePath(ParamStr(0)), 'Paradox');
          Session.SaveConfigFile;//on le sauvegarde dans la BDE
        end;
    end;
    et puis connecte ta BD à l'aide du chemin que tu as créer.

    bonne chance

    a+
    NABIL74

  3. #3
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut
    J'ai trouvé l'erreur.

    Ton système fonctionnait comme le mien mais le hic était que j'avais mal configuré un champ.

    Merci comme même
    Cordialement à tous

    Votre savoir devient mon savoir qui deviendra votre savoir, telle est la connaissance qui appartient à tous

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

Discussions similaires

  1. [Threads] Savoir si un thread a provoqué une erreur
    Par anykeyh dans le forum Windows
    Réponses: 6
    Dernier message: 26/04/2006, 15h12
  2. msaccess a provoqué une erreur dans KERNEL32.dll
    Par massol joel dans le forum Access
    Réponses: 12
    Dernier message: 03/04/2006, 14h32
  3. Cells (1,1) provoque une erreur
    Par Opo dans le forum Access
    Réponses: 9
    Dernier message: 07/03/2006, 16h29
  4. [SGBD] mysql_fetch_array provoque une erreur
    Par nicerico dans le forum Requêtes
    Réponses: 6
    Dernier message: 06/10/2005, 14h20
  5. Select Case provoque une erreur
    Par defluc dans le forum SQL
    Réponses: 6
    Dernier message: 14/08/2005, 23h59

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