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 :

[XE7] utilisation d'index CDX avec table Dbase(dbf)


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 391
    Points : 189
    Points
    189
    Par défaut [XE7] utilisation d'index CDX avec table Dbase(dbf)
    Bonjour

    Je convertie mon application de delphi Xe2 a delphi Xe7 tous va bien mais j'ai un problème avec les index CDX

    Mon application travaille avec MsSql pas de problème avec la base mais je dois écrire des données dans une table dbf qui utilise
    plusieurs index CDX je sais c'est dépassé mais je n'ai pas le choix d'utilisé ces tables.

    Dans la version Xe2 j'utilisais un ancien composant Halcyon depuis delphi 7 que le développeur du logiciel avait modifié pour Xe2
    donc mon application fonctionnait très bien mais la je suis incapable de l'adapter pour Xe7 et pas de nouvelle du développeur.

    Je veux plus intégré ce composant dans mon application et le remplace par d'autre commande.

    voici les commandes que j'utilisais pour intégré les index dans Xe2 avec le composant Halcyon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
          fbase.T01PAYBBILLET.active:=true;
          fbase.T01PAYBBILLET.INDEXFILEINCLUDE('PAYCOMPT.cdX');
          fbase.T01PAYBBILLET.INDEXFILEINCLUDE('PAYDATE.cdX');
          fbase.T01PAYBBILLET.INDEXFILEINCLUDE('PAYFOUR.cdX');
          fbase.T01PAYBBILLET.INDEXFILEINCLUDE('PAYFCTFO.cdX');
    ca fonctionnait tres bien avant mais comment remplacer ces commandes pour l'utiliser dans mon application sans utiliser Halcyon.

    NOTE: Si j'enlève les index je suis capable de mettre la table a jour mais obligé d'indexé la table avant d'utilisé le programme qui l'utilise

    Merci de votre aide

    Mario

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    ce composant halcyon n'a pas le code source pour voir ce qu'il fait ??

    Il est peut-être possible d'utilise le composant sous XE7 avec peu de modifications ??
    De XE2 à XE7 il n'y pas tellement de différence surtout si le code est d'une ancienne version de Delphi.

  3. #3
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 391
    Points : 189
    Points
    189
    Par défaut [XE7] utilisation d'index CDX avec table Dbase(dbf)
    Merci de m'aider

    J'ai tous les fichiers de base pour modifier le composant mais je ne sais pas comment faire pour le recompiler pour fonctionner sur
    XE7.
    Nom : fichier.JPG
Affichages : 558
Taille : 72,0 Ko

    Si vous avez une piste de solution pour m'aider dans mes recherche ca m'aiderait beaucoup c'est le dernier composant qui me manque
    pour compléter ma mise a jour pour XE7.

    Merci

    Mario

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    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 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Sauf que des DCU ou BPL ne sont pas modifiables
    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

  5. #5
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    Je parlais effectivement des fichiers source, pas des fichiers compilés.
    Sans les .pas, on ne peut rien faire.

  6. #6
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 391
    Points : 189
    Points
    189
    Par défaut [XE7] utilisation d'index CDX avec table Dbase(dbf)
    Bonjour

    Merci de votre aide j'ai retrouvé les programmes PAS

    Nom : halcyon.JPG
Affichages : 535
Taille : 114,1 Ko

    Pour recréer les composants pour Xe7 on commence par qu'elle fichier SVP.


    Merci

    Mario

  7. #7
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    il faut trouver le fichier .dpk quelquepart dans le dossier. C'est l'équivalent d'un projet delphi pour faire un package de composants.
    Il suffit de l'ouvrir et de voir ce qui se passe.

  8. #8
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 391
    Points : 189
    Points
    189
    Par défaut [XE7] utilisation d'index CDX avec table Dbase(dbf)
    Supper j'ai trouvé un fichier avec extension DPK qui fonctionne quand je le compile dans XE2 mais j'ai plusieurs erreur dans Xe7

    erreur 1 shortdate

    Nom : date_GS6_DATE.JPG
Affichages : 501
Taille : 53,1 Ko



    erreur 2 vartype

    Nom : GS6_FCTN.JPG
Affichages : 515
Taille : 54,9 Ko



    erreur 3 null

    Nom : GS6_sql.JPG
Affichages : 513
Taille : 64,0 Ko


    erreur 4

    Nom : GS6_SQL_NULL.JPG
Affichages : 452
Taille : 12,6 Ko



    Merci de m'aider je continue mes recherche


    Mario

  9. #9
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    pour shortdateformat, remplacer par FormatSettings.ShortDateFormat

    pour vartype, ajouter variants dans les uses

  10. #10
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 391
    Points : 189
    Points
    189
    Par défaut [XE7] utilisation d'index CDX avec table Dbase(dbf)
    Merci de votre aide ca avance

    Juste une autre question

    Pour null on peut le remplacer par quoi en delphi Xe7 pourtant quand je compile mon programme dans Xe2 tout fonctionne.

    Est-ce qu'il a quelque chose que l'on peut ajouté pour remplacer vartype parce que dans l'entete mon mon programme .pas il n'y a pas de use

    Merci encore

    Mario

  11. #11
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 391
    Points : 189
    Points
    189
    Par défaut [XE7] utilisation d'index CDX avec table Dbase(dbf)
    Rebonjour

    Désolé pour la question précédente vous aviez raison il faut ajouté system.variants dans les uses et ca fonctionne

    je suis rendu a environ 75 % de compiler il me reste 5 fichiers .pas a modifier mais j'ai une erreur bizare sur la function AllocRecordBuffer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     function AllocRecordBuffer: TgsRecordBuffer; override;
    l'erreur est

    [dcc32 Erreur] XXXX.pas(135): E2037 La déclaration de 'AllocRecordBuffer' diffère de la déclaration précédente

    je n'ai pas corrigé cette declaration


    Merci beaucoup de votre aide c'est très apprécié

    Mario

  12. #12
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut
    Il faut remonter à la classe ancêtre et regarder la syntaxe pour voir la différence.
    Sans voir le code complet de la fonction incriminée, difficile de répondre plus précisément.

Discussions similaires

  1. Réponses: 12
    Dernier message: 25/02/2014, 18h56
  2. ADO Table dBase avec index
    Par HooK dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/06/2010, 11h01
  3. Indexation d'une table dBase
    Par memoInf dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/11/2009, 20h04
  4. Réponses: 14
    Dernier message: 03/04/2008, 01h44
  5. Regénération d'index corrompu d'une table Dbase(*.cdx)
    Par helmis dans le forum Bases de données
    Réponses: 4
    Dernier message: 16/03/2008, 19h40

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