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 :

Delphi et W7


Sujet :

Delphi

  1. #61
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Droïde Système7 Voir le message

    Il serait certainement bon de recentrer tout ça

    @+
    Effectivement.. Je viens de décompresser un peu car là j'avoue que n'étant pas un professionnel, la succession des changements de systèmes m'a posé plutôt des soucis que j'ai réussi jusqu'à maintenant à solutionner, mais là ça devient craignos.

    Résumé : Étant un mordu autodidacte d'informatique et passionné de bourse, j'ai décidé de construire une application modeste au départ de gestion de portefeuille avec calcul de perf, PV net, fiscal et tout machin patin couffin en 2000. Puis la bourse à évoluée et mon application de même tout en conservant les anciennes possibilités et les démultipliant même. Passage du franc à l'euro, du code Sicovam au code Isin, arrivée du srd, j'en passe et des meilleurs. Pour le stockage de l'information, j'utilisais et j'utilise toujours les tables paradox. Je me suis même aperçu que le traitement des listes alphabétiques posant des problèmes par exemple avec l'accentuation ou les symboles, et que un mot commençant par un "é" arrivait derrière un mot commençant par "v"; il suffisait d'utiliser une table paradox temporaire pour aller très vite et qu'il suffisait de recopier un champs dans une TstrinList pour que les manipes soient sensiblement allégées...
    Donc tout roulait à merveille jusqu'à Vista ... et son cortège d'em.... pour moi.

    Dans un premier temps j'ai installé deux OS en // pour pouvoir utiliser mon application.
    Xp ... good.
    Vista ... plouf plouf avec ses messages d'erreur (voir au début de cette file)

    Puis j'ai demandé de l'aide ici, et là j'en ai eu de multiples.
    Dans un premier temps le fameux clic droit avec droit administrateurs puis l'installation avec Innosetup qui demande automatiquement les droits administrateur avec un clic gauche. Ne plus coller de fichier Init dans le dossier Windows.
    Tout semblait fonctionner convenablement jusqu'à ce que je veuille imprimer virtuellement ou réellement, et là... message d'erreur ci-dessus...

    Donc, voilà, mon application avec l'installateur est récupérable avec ce lien... ici ou

    Peut-être à essayer sur Vista ou Seven pour voir ce que cela donne. (Pour éviter une présentation trop longue lors des ouvertures suivantes, dès la première ouverture aller dans et cocher "Outils/Option... Écran annonce/Instantané/1 seconde".

    En fait si je ne donne pas les droits administrateurs ça plante dès le départ, si je les donne, ça plante à l'impression (et ça je l'ai vérifié avec un programme ultra simple).
    Mon application utilise le BDE. Il paraît que je pourrais m'en affranchir en utilisant l'ODBC avec ADO. Je ne sais pas faire.
    Quand à utiliser le Manifest, je n'y arrive pas mieux malgré toutes les indicadions que l'on m'a fournies.
    Les lignes de codes, je ne sais pas où les placer...

  2. #62
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Bonsoir,

    Citation Envoyé par Whiler Voir le message
    Avant d'aller plus loin...

    Si tu lances ton application en faisant un clic droit, et que tu cliques sur Exécuter en tant qu'administrateur....

    Est-ce que cela fonctionne comme tu le souhaites ? si oui, on reviendra sur le manifest
    Elle fonctionne pratiquement à 99%. Seul l'appel à l'imprimate plante ( quand je démarre clic droit).

    Le manifest permet-il de s'affranchir des droits administrateur svp ?

    Cela me permettrait de régler le problème de l'imprimante et peut-être de démarrer clic gauche sans message d'erreur.

  3. #63
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Non, l'idée que j'avais était de les obtenir systématiquement...

    Donc, comme cela ne fonctionne pas en faisant un exécuter en tant qu'administrateur... tu n'imprimeras pas mieux avec le manifest...

  4. #64
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Thierry Laborde Voir le message
    Bonjour,

    Au passage je vois une erreur dans les copies d'écrans concernant le BDE :



    Je rappelle que le paramétrage par défaut de Paradox dans le BDE (Paramètre "NET DIR" dans la configuration du pilote Paradox) pointe sur C:\
    Hors Windows 7 ne permet pas d'écrire à la racine de C:\
    Il faut donc modifier le paramétrage du BDE.
    J'ai installé le BDE (sous Vista) dans le dossier C:\Machin\BDE, je reçoit le même message d'erreur si je lance l'appli avec clic gauche.
    Comment change-t-on le paramétrage svp ? Suffit-il d'indiquer dans le paramètre NET DIR le chemin de l'installation du BDE pour le pilote Paradoxe ?

  5. #65
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par F@bien.fd Voir le message
    J'ai installé le BDE (sous Vista) dans le dossier C:\Machin\BDE, je reçoit le même message d'erreur si je lance l'appli avec clic gauche.
    Comment change-t-on le paramétrage svp ? Suffit-il d'indiquer dans le paramètre NET DIR le chemin de l'installation du BDE pour le pilote Paradoxe ?
    C'est fait ... et ça tourne. il pointait sur "C:", je l'ai fait pointer sur "C:\Machin\BDE"

    Démarrage clic gauche sans demander les droits administrateurs et sans message d'erreur.
    Appel de l'imprimante, réponse de la boite de dialogue sans message d'erreur.

    Lorsque je construis le Setup de mon application avec Innosetup, puis-je aussi lui adjoindre le BDE, sachant qu'il est peut-être déjà installé. Dans ce cas peut-on tester sa présence à partir de InnoSetup pour vérifier la nécessité de l'installer.
    Et comment peut-on par programme changer le paramétrage de "NET DIR" svp?

  6. #66
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    Bonsoir Fabien,

    il faut lancer le BDEAdmin, mais en tant qu'admin, donc éviter le panneau de configuration où il y a un raccourci mais plutôt depuis, selon ton OS,
    C:\Program Files (x86)\Common Files\Borland Shared\BDE
    ou
    C:\Program Files\Common Files\Borland Shared\BDE

    - lancer bdeadmin.exe (clic droit ...)
    - onglet "Configuration",
    - développer "Pilotes" puis "Natif"
    - sélectionner "PARADOX"
    - remplacer la valeur en face de "NET DIR" "C:\" par "C:\f@bien"
    - passer dans la cellule d'en dessous, sinon, la modif pourrais ne pas être prise en compte,
    - cliquer sur la flèche bleu dans la barre de menu.
    - quitter le bde admin

    Bon, j'ai testé sur Win8, (seule machine où je n'ai pas encore le BDE), le BDE ne s'installe pas ... même en lançant le setup en tant qu'admin, désolé.

    Personnellement j'utilise un pack d'install du BDE qui fait "tout bien" (enfin presque) que j'enchaîne grâce à InnoSetup avec ma propre install. Je peux te le passer si tu veux.

  7. #67
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Renaud° Voir le message
    Bonsoir Fabien,

    il faut lancer le BDEAdmin, mais en tant qu'admin, donc éviter le panneau de configuration où il y a un raccourci mais plutôt depuis, selon ton OS,
    C:\Program Files (x86)\Common Files\Borland Shared\BDE
    ou
    C:\Program Files\Common Files\Borland Shared\BDE

    - lancer bdeadmin.exe (clic droit ...)
    - onglet "Configuration",
    - développer "Pilotes" puis "Natif"
    - sélectionner "PARADOX"
    - remplacer la valeur en face de "NET DIR" "C:\" par "C:\f@bien"
    - passer dans la cellule d'en dessous, sinon, la modif pourrais ne pas être prise en compte,
    - cliquer sur la flèche bleu dans la barre de menu.
    - quitter le bde admin

    Bon, j'ai testé sur Win8, (seule machine où je n'ai pas encore le BDE), le BDE ne s'installe pas ... même en lançant le setup en tant qu'admin, désolé.

    Personnellement j'utilise un pack d'install du BDE qui fait "tout bien" (enfin presque) que j'enchaîne grâce à InnoSetup avec ma propre install. Je peux te le passer si tu veux.
    Merci, comme tu l'as vu au-dessus, la modif de configuration a bien été prise en compte.
    Mais ce que je souhaiterais c 'est modifier les parametres de NET DIR au cours de l'installation sans passer par une manip manuelle. Tout en automatique quoi ...

    Du coup, je me suis construit deux installateurs BDE, un avec InstallShield et l'autre avec
    Innosetup, ils ont l'air de fonctionner tous les deux sous Vista ... surprise, surprise.

    Mais si tu veux bien me passer le tiens que je l'examine, je te filerai les deux miens qui sont d'une banalité déconcertante.

    Cette fois ... bonne nuit et à demain.

  8. #68
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    Citation Envoyé par F@bien.fd Voir le message
    Merci, comme tu l'as vu au-dessus, la modif de configuration a bien été prise en compte.
    Cette fois ... bonne nuit et à demain.
    Oui, j'avais un train de retard

    Citation Envoyé par F@bien.fd Voir le message
    Mais si tu veux bien me passer le tiens que je l'examine, je te filerai les deux miens qui sont d'une banalité déconcertante.
    Ok, c'est un pack que j'ai récupéré sur le net, il pose quelques questions, et par rapport à ça ce n'est pas sur qu'il te convienne, mais bon, passe moi ton adresse email par MP je te l'envoie

    Citation Envoyé par F@bien.fd Voir le message
    Et comment peut-on par programme changer le paramétrage de "NET DIR" svp?
    Oui, je crois que c'est possible, mais ça me fait remonter aux alentours de 1995/2000 je vais voir si je retrouve qq chose, il me semble que je modifiais les paramètres du BDE depuis Delphi
    mais ... ouich ça va être dur de retrouver ce source.

  9. #69
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    OK, j'ai pas retrouvé les sources, mais ceci devrait faire l'affaire

    http://docwiki.embarcadero.com/VCL/f...ion.NetFileDir

  10. #70
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Renaud° Voir le message
    OK, j'ai pas retrouvé les sources, mais ceci devrait faire l'affaire

    http://docwiki.embarcadero.com/VCL/f...ion.NetFileDir
    Fichier iwz pour le BDE
    Installateur InstallShield pour le BDE

    Fichier iss pour le BDE
    Installateur InnoSetup pour le BDE

    Par contre il y a une chose que je pige pas ... avec XP toute l'installation de Delphi et par conséquent du BDE est sur le disque D, or je viens de vérifier que "NET DIR" pointe sur ... "C:\" , et ... ça fonctionne quand même

  11. #71
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    Citation Envoyé par F@bien.fd Voir le message
    Par contre il y a une chose que je pige pas ... avec XP toute l'installation de Delphi et par conséquent du BDE est sur le disque D, or je viens de vérifier que "NET DIR" pointe sur ... "C:\" , et ... ça fonctionne quand même
    En fait ce fichier est destiné à l'aspect mutli-utilisateurs des bases paradox, donc théoriquement il devrait se trouver sur un partage réseau (d'où le nom du chemin "NetDir") donc rien de surprenant. Héritage d'une époque reculée où tout était permis (Windows 3.x ?)

  12. #72
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Renaud° Voir le message
    En fait ce fichier est destiné à l'aspect mutli-utilisateurs des bases paradox, donc théoriquement il devrait se trouver sur un partage réseau (d'où le nom du chemin "NetDir") donc rien de surprenant. Héritage d'une époque reculée où tout était permis (Windows 3.x ?)
    Donc il est normal qu'avec XP, le BDE situé dans "D:\Program Files\Common Files\Borland Shared\BDE" pointe sur "C:\" alors que dans Vista le BDE situé dans "C:\F@bien\BDE" pointe sur "C:\F@bien\BDE" ?

    Là j'avoue ma perplexité. Alors comment se fait-il que lorsqu'il pointait lui aussi sur "C:\" dans Vista, ça ne voulait rien savoir ?

  13. #73
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    Citation Envoyé par F@bien.fd Voir le message
    Donc il est normal qu'avec XP, le BDE situé dans "D:\Program Files\Common Files\Borland Shared\BDE" pointe sur "C:\" alors que dans Vista le BDE situé dans "C:\F@bien\BDE" pointe sur "C:\F@bien\BDE" ?
    Oui.
    Ceci dit, tu prends un risque si tu ne respectes pas la convention du "Program Files\Common Files\Borland Shared\BDE", quid si ton client installe une autre appli avec le BDE, ou que ton install arrives après ?

    Là j'avoue ma perplexité. Alors comment se fait-il que lorsqu'il pointait lui aussi sur "C:\" dans Vista, ça ne voulait rien savoir ?
    Parce que vista interdit l'écriture à la racine du disque système, XP non. Lorsque tu ouvre ta première table dans ton appli (ou à la création du TTable, je ne sais plus) le moteur BDE s'initialise en PARADOX, il commence donc par créer le PDOXUSRS.NET là où le paramétrage du BDE le lui indique (valeur de Net DIR).
    Si NET DIR = "C:\" => Vista interdit au BDE de poursuivre et "boum"
    Si NET DIR = ton répertoire ou un autre n'étant pas soumis aux mêmes restrictions ça passe.

  14. #74
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Renaud° Voir le message
    Oui.
    Ceci dit, tu prends un risque si tu ne respectes pas la convention du "Program Files\Common Files\Borland Shared\BDE", quid si ton client installe une autre appli avec le BDE, ou que ton install arrives après ?



    Parce que vista interdit l'écriture à la racine du disque système, XP non. Lorsque tu ouvre ta première table dans ton appli (ou à la création du TTable, je ne sais plus) le moteur BDE s'initialise en PARADOX, il commence donc par créer le PDOXUSRS.NET là où le paramétrage du BDE le lui indique (valeur de Net DIR).
    Si NET DIR = "C:\" => Vista interdit au BDE de poursuivre et "boum"
    Si NET DIR = ton répertoire ou un autre n'étant pas soumis aux mêmes restrictions ça passe.
    J'ai fait le test suivant :

    Dans Vista désinstallation du BDE par la voie courante du Panneau de config ... OK plus de BDE en apparence.
    Je lance mes appli nécessitant l'utilisation du BDE ... elles fonctionnent sans anicroches.
    Je réinstallation le BDE et qu'est-ce que je trouve comme valeur en face de "NET DIR? "C:\f@bien\bde" de l'ancienne installation.

  15. #75
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    Es-tu sur que la désinstall t'enlève tout ce qu'il y a dans le repertoire du BDE ?
    il ne resterait pas un fichier IDAPI.CFG par hasard ?

  16. #76
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Renaud° Voir le message
    Es-tu sur que la désinstall t'enlève tout ce qu'il y a dans le repertoire du BDE ?
    il ne resterait pas un fichier IDAPI.CFG par hasard ?
    J'sais pas, mais de toute façon ça fera la rue Monsieur le Prince...

    voilà les fichiers définifs que j'utiliserai à l'avenir tant qu'une nouvelle version de Windows ne viendra pas me mettre le binz...

    Fichier iss pour le BDE
    Installateur InnoSetup pour le BDE

    merci encore.

  17. #77
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    OK,
    Mais je pense que tu retrouvera le pb sur une machine "vierge" et qu'il faut régler la chose au sein de tes applis pour t'en affranchir définitivement.

    Alors, au cas où ...
    Si tes TTable son liés à un TDataBase, c'est très facile, sinon, pas insurmontable : en créer un et lier chaque table au TDataBase

    voici un exemple (dans le cadre d'une appli mono-utilisateur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.Database1AfterConnect(Sender: TObject);
    begin
      DataBase1.Session.NetFileDir := ExtractFilePath(Application.ExeName);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Table1.Open;
    end;
    Pour que ça fonctionne
    - Mettre un TDataBase dans ta forme (ou mieux : un DataModule)
    - ajuster les propriété suivantes :
    > DataBaseName = Paradox
    > DriverName = STANDARD
    - mettre un TTable
    > DataBaseName = Paradox <= c'est ça qui relie le TDataBase à la table
    > TableType =ttParadox
    > TableName = ... un fichier DB bien évidemment

    Dans l’exemple, voici ce qui se passe lors de la demande d’ouverture de la table
    - La table : ais-je un DataBase ?oui (sinon, en créer un sur lequel on ne peut avoir la main qu’une fois la table ouverte, c'est-à-dire trop tard.)
    - DataBase connecte toi
    - Le DataBase se connecte et charge le paramétrage du BDE tel qu’il figure dans le BdeAdmin
    - Puis se déroute sur le « OnAfterConnect »
    - Où on écrase le paramètre chargé depuis le BdeAdmin par le chemin qui nous intéresse
    - Le dataBase rend la main à la table
    - La table est ouverte
    résultat : PDOXgniagnia est créé là où tu l’as demandé
    En clair, si ce n’est pas le cas dans ton appli, tu as juste à créer un DataBase, lui donner un DataBaseName de ton choix et reporte cette valeur dans toute tes TTable.

    Bonne continuation

  18. #78
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2004
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 264
    Points : 104
    Points
    104
    Par défaut
    J'ai deux 2 TdataSource avec data set à "Portetefeuille" et "AppliqueOperation" associés à 2 TTable "Portetefeuille" et "AppliqueOperation".

    Quand je veux créer une table temporaire ou définitive j'utilise une procédure dynamique par exemple CreationTable("Machin");
    telle que :
    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
    procedure TMain.CreationTable(NomDB: String);
    begin
      Table_Vide := True; // À priori la table ne contient pas d'enregistrements.
      TableNouvelle := TTable.Create(Self);
      TableNouvelle.TableName := NomDB;
      try
        try
        { Ne pas écraser une table existante }
          TableNouvelle.Open; // Si elle existe, on continue ...
        { On en profite pour vérifier le nombre d'enregistrements,
          cela permettra de moduler l'annonce lors du lancement de l'application.}
          If TableNouvelle.RecordCount <> 0 then Table_Vide := False;
        except // Sinon, on crée la table ...
          with TableNouvelle do
            begin
            { Le composant Table ne doit pas être actif. }
              Active := False;
            { En premier, description de la table qui est déjà nommée. }
              TableType := ttParadox;
            { Ensuite description des champs. }
              with FieldDefs do
                begin
                  Clear;
                  Add('Titre',ftString,56,False);
                  Add('PEA',ftBoolean,0,False);
                  Add('CT',ftBoolean,0,False);
                  Add('Radié',ftBoolean,0,False);
                  Add('SICOVAM',ftInteger,0,False);
                  Add('ISIN',ftString,12,False);
                end;
            { Puis description des index. }
            { Le premier index n'a pas de nom, }
            { il s'agit d'une clé primaire Paradox. }
              with IndexDefs do
                begin
                  Clear;
                  Add('','Titre',[ixPrimary]);
                end;
            { Appel de la méthode CreateTable pour créer réellement la table. }
              CreateTable;
            end;
        end;
      finally
        TableNouvelle.Close;
        TableNouvelle.Free;
      end;
    end;
    ou bien pour traiter des listes je crée une table temporaire par exemple :
    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
    // Création de la table temporaire.
      TableNouvelle := TTable.Create(Self);
      TableNouvelle.TableName := 'TablePlace';
      try
        try
          TableNouvelle.Open; // Elle n'existe pas ...
        except  // On crée la table ...
          with TableNouvelle do
            begin
            { Le composant Table ne doit pas être actif. }
              Active := False;
            { En premier, description de la table qui est déjà nommée. }
              TableType := ttParadox;
            { Ensuite description des champs. }
              with FieldDefs do
                begin
                  Clear;
                  Add('Nom_du_Titre',ftString,56,False);
                end;
            { Puis description des index. }
              with IndexDefs do
                begin
                  Clear;
                  Add('','Nom_du_Titre',[ixPrimary]);
                end;
            { Appel de la méthode CreateTable pour créer réellement la table. }
              CreateTable;
           end;
        end;
      finally
        TableNouvelle.Close;
        TableNouvelle.Free;
      end;
    Est-ce que dans ce cas il serait quand même souhaitable de rajouter un TDataBase ?

  19. #79
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    Est-ce que dans ce cas il serait quand même souhaitable de rajouter un TDataBase ?
    Un seul TDataBase suffit pour toute l'application. Donc, déjà pas besoin d'en créer de supplémentaire.

    Maintentant, il n'est pas dit que ce soit indispensable dans ton contexte, mais tu peux, par précaution ou cohérence, les relier à ton TDataBase, tu as juste à affecter la propriété DataBaseName des tables que tu créer dynamiquement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TMain.CreationTable(NomDB: String);
    begin
      Table_Vide := True; // À priori la table ne contient pas d'enregistrements.
      TableNouvelle := TTable.Create(Self);
      TableNouvelle.DataBaseName := MaDataBase;
      TableNouvelle.TableName := NomDB;
       ...

  20. #80
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 52
    Points : 102
    Points
    102
    Par défaut
    J'ajoute que créer plusieurs TDataBase n'aurait de sens que si tu voulais attaquer une autre source de données, comme un serveur SQL par exemple.

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

Discussions similaires

  1. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  2. Réponses: 1
    Dernier message: 13/05/2002, 09h19
  3. [Kylix] Migration delphi -> kylix
    Par Christian dans le forum EDI
    Réponses: 1
    Dernier message: 03/04/2002, 22h50
  4. Réponses: 4
    Dernier message: 27/03/2002, 11h03
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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