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 :

Probleme d'un datamodule commun dans une app MDI


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 59
    Points : 57
    Points
    57
    Par défaut Probleme d'un datamodule commun dans une app MDI
    Salut
    j'ai une application MDI contenant plusieurs fenêtre filles.
    tous ces fenêtres partagent une seul Datamodule que j'utilise pour contenir tous les composants d'acceès
    à la base de donnée.
    Le problème c'est que si une fenêtre fille filtre l'enregistrement co
    ntenu dans une table TTable1 par exemple (par la methode .filter)
    alors tous les enregistrements contenu
    dans les autres fenêtre fille qui soit visible ou non utilisant cette même table
    sont affecté par cette filtre
    Des astuces pour contourner ce problème ? je veux pas que les enregistrements
    soient affecté par cette filtre.
    Merci

  2. #2
    Membre expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 550
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 550
    Points : 3 916
    Points
    3 916
    Par défaut
    Salut

    L'utilisation d'un DataModule unique dans le cadre d'une application MDI est sujette à caution tout simplement car le DataModule est unique et donc partagé.

    Une solution peut consister en déplaçant les objets TTable sur les fiches. C'est un peu surprenant avec Delphi mais c'est logique, les DataModule ont été conçus en partie pour partager des composants entre des fiches mais c'est valable uniquement pour les composants dont l'emploi est partageable, ce qui ne semble pas être le cas de tes composants TTable.

    La solution consistant à instancier plusieurs DataModules est compliquée à mettre en oeuvre du fait des choix techniques faits par Borland en conception notamment (une fiche utiliser la varibale référence d'un DataModule et non pas le nom de classe, ce qui complique certaines choses)

    Une autre solution consiste à utiliser des composants TClientDataSet et TDataSetProvider qui semblent plus adapter à ce genre d'application (si tu connais ces composants, fais un essai).

    cdlt

    e-ric

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/08/2010, 11h53
  2. [c#]probleme avec les menu toolStripItem dans une form mdi??
    Par must19 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/11/2006, 00h02
  3. Réponses: 30
    Dernier message: 16/11/2005, 16h02
  4. Réponses: 3
    Dernier message: 01/09/2005, 12h56
  5. Probleme d'affichage d'image dans une fenetre
    Par cgregueusse dans le forum MFC
    Réponses: 1
    Dernier message: 03/08/2005, 12h08

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