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 :

Delphi6 & BDE + DBF "fonctionnalité non supportée"


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Points : 43
    Points
    43
    Par défaut Delphi6 & BDE + DBF "fonctionnalité non supportée"
    Bonjour,

    Sur une forme, j'ai un DBGird. Quand je clique sur le titre d'une colonne, le fichier s'affiche trié sur le champ de la colonne.

    Cela fonctionne bien depuis des années, mais maintenant j'obtiens le message «*Fonctionnalité non supportée*»

    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
    // --------------------------------------------------------------------
    //  Selection critère de tri Grille Membres
    // --------------------------------------------------------------------
    procedure TSFM01.DBGrid1TitleClick(Column: TColumn);
    
    
    begin
    //  inherited;
    
    
      With SFMDM.Membres do
      Case Column.Index of
    
      0: begin   // N° Membre
           IndexName := 'KA_AKLE';
           WFieldName := 'A_AKLE';
           WInfoTri := 'N° de Membre';
           Label3.Caption := 'Recherche sur N° de Membre';
         end;
    
    {  1: begin   // Statut (Radié)
         end; }
    
      2: begin   // Nom Prénom
           IndexName := 'KNOMKLE';
           WFieldName := 'ANOM';
           WInfoTri := 'Nom Prénom';
           Label3.Caption := 'Recherche sur Nom Prénom';
         end;
    
      3: begin   // Adresse 1
           IndexName := 'KAADR1';
           WFieldName := 'AADR1';
           WInfoTri := 'Adresse';
           Label3.Caption := 'Recherche sur Adresse';
         end;
    
    ... etc...
    En mode debug pas à*pas, le plantage survient quand j'exécute la ligne "IndexName := "NOM_DE_LA_CLE" avec le message ci-dessous :

    Le projet SFM.exe a provoqué une classe d'exception EDBEngineError avec le message 'Fonctionnalité non supportée.'. Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.
    Ces clés (index) existent bien dans mon fichier.

    Lorsque je compile avec les sources d'une vieille sauvegarde, cela fonctionne.

    J'ai fait une comparaison des deux sources : Ils sont strictement identiques.
    Je n'y comprends plus rien

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Points : 43
    Points
    43
    Par défaut
    Petites précisions :

    - je suis sous XP
    - J'ai désinstallé-réinstallé D6

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Bonjour
    n'y a t-il pas sous BDE/Paradox des restrictions quant aux noms de colonnes et indexs ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Points : 43
    Points
    43
    Par défaut
    Ben... Mes fichiers sont au format dBase (.DBF, dans le titre)

    Je ne vois pas pourquoi ça ne fonctionne plus alors que ça fonctionne avec la sauvegarde d'une ancienne version. Je ne vois vraiment plus où chercher.

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Tu utilises bien les bons fichiers (ceux que tu as contrôlé ?), se tromper de fichier arrive vite si l'on utilise des alias
    Les Fichiers NDX ou SDX sont présents ?
    Les Index ne sont pas corrompus, ou même pire, absent ?

    En DBF, IndexName ne supporte que des noms d'index existant !
    Personne n'a touché à la base ?
    Un admin ayant un outil comme DBase ProTools ayant repacker les fichiers pour le gain de place et ayant pu modifier la version des fichiers ?

    As-tu vérifier les DFM des DataModules ? Des Options différents sur le composants TTable ?
    La Définition des Index dans le TTable dans ce même DFM
    On pense au code mais oas toujours au ressource

    J'utilisais Apollo Engine pour DBase pour dépasser les limites du DBF supportés par le BDE (ayant des limitation comme la longueur de chaine à 255 caractères...)
    Ce qui pose d'ailleurs des problèmes avec le Driver Base d'Excel qui ne comprend pas cela !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Points : 43
    Points
    43
    Par défaut
    Tu utilises bien les bons fichiers (ceux que tu as contrôlé ?), se tromper de fichier arrive vite si l'on utilise des alias
    Les Fichiers NDX ou SDX sont présents ?
    Les Index ne sont pas corrompus, ou même pire, absent ?
    Oui, je pointe sur les mêmes fichiers (recompile à partir d'une vieille version, mais l'exe dans le même répertoire)
    Par ailleurs, je n'utilise pas bdeadmin pour gérer l'alias : je le configure directement dans le code (pour compatibilité et utilisation de mon programme sous Linux)

    En DBF, IndexName ne supporte que des noms d'index existant !
    Personne n'a touché à la base ?
    Un admin ayant un outil comme DBase ProTools ayant repacker les fichiers pour le gain de place et ayant pu modifier la version des fichiers ?
    J'ai vérifié que mes index existent bien : d'une part, les fichiers .ndx et mdx existent, d'autre part, vérification avec le module de bases de données, pour vérifier la présence des index et aussi leur contenu (champs et conditions servant à créer l'index, pas l'index lui-même).
    Pour la base elle-même, je suis seul à utiliser mon PC (chez moi) et accès protégé par mot de passe.

    As-tu vérifier les DFM des DataModules ? Des Options différents sur le composants TTable ?
    La Définition des Index dans le TTable dans ce même DFM
    On pense au code mais oas toujours au ressource
    J'ai vérifié à partir de l'inspecteur d'objets, mais je peux avoir sauté quelque chose.
    Coté DM, j'ai regardé également, mais je n'ai rien trouvé.

    Je vais passer à la moulinette tous les fichier .pas et .dfm pour comparaison.
    J'espère trouver quelque chose.

    Je ne conaissait pas Apollo Engine. Je regarderai de ce coté.

    Merci.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Points : 43
    Points
    43
    Par défaut
    Bonjour,

    J'ai passé à la moulinette les fichiers .pas et .dfm : je n'ai rien trouvé.
    J'ai supprimé la table qui pose problème et je l'ai replacé : toujours pareil.
    Je me demande si je ne devrais pas tenter la même opération avec la grille ?

    Je ne pense pas que cela vienne du BDE. En effet, en plus du programme "ancienne version" qui fonctionne bien, j'ai également un programme qui est la copie de celui qui pose problème, mais en version "bridée" CAD en lecture seule, et lui aussi fonctionne bien.

    Y a-t-il une piste que je devrais explorer ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 51
    Points : 43
    Points
    43
    Par défaut Resolu
    Bon, ca fonctionne.
    Ne me demandez pas pourquoi, je n'en sais malheureusement strictement rien
    Je suis reparti d'une ancienne sauvegarde et le problème a disparu. Mystère...
    J'aurai pourtant bien aimé comprendre ce qui s'est passé.

    PS : Je voulais mettre "Resolu" dans le titre, mais je n'ai pas la main pour le modifier.

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

Discussions similaires

  1. Requête SQl: Fonctionnalité non supportée
    Par formula_one dans le forum Bases de données
    Réponses: 8
    Dernier message: 18/08/2012, 12h54
  2. Fonctionnalité non supportée pour un Locate !
    Par teZone dans le forum Débuter
    Réponses: 8
    Dernier message: 02/06/2009, 23h06
  3. [Borland DataPump] PDX -> Oracle : "Fonctionnalité non supportée"
    Par ShaiLeTroll dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/11/2007, 12h21
  4. EDBEngineError Paradox: "Fonctionnalité non supportée"
    Par forzaxelah dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/05/2006, 17h32
  5. [CR8][Delphi6] erreur imprimante non supportée
    Par Sebastien L. dans le forum SDK
    Réponses: 3
    Dernier message: 12/09/2002, 15h42

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