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

Composants VCL Delphi Discussion :

TFrame


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Par défaut TFrame
    Bonjour, je réorganise complètement un gros projet qui tient sur une seule fiche (Le Client Est Roi). Il y a une trentaine de tables, une dizaine de grilles, des TPageControl pour séparer un peu les choses, bref on dirait que quelqu'un a éventré un sac poubelle.

    L'idée (puisqu'il faut garder cette "structure") est d'utiliser des TFrame. J'ai donc placé un TTable sur la fiche principale (avec son datasource) et chaque frame a sa propre table "détail" : son mastersource est main.matable

    Au design, tout va bien, quand je navigue sur la table principale, la frame est bien mise à jour. A l'exécution, c'est comme si ma relation mastersource était absente : je vois l'intégralité de la table détail.

    Je veux bien créer la liaison manuellement à la création de la fiche mais je trouve ce comportement bizarre. Et puis il n'y a pas d'évènement OnCreate sur une Frame :-(

    Autre problème : sur une frame (contenue sur la fiche principale), j'ai une table liée à une DBGrid. J'y ai créé un évènement OnAfterScroll (dans le source de la frame).
    Quand je change de ligne sur la DBGrid, mon évènement n'est pas appelé (le breakpoint ne "break" jamais).

    A part la doc de Delphi et l'aide, y'a un truc à lire sur les TFrame ?

  2. #2
    Membre confirmé

    Inscrit en
    Novembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    Par défaut
    salut "thefreecat"

    1/ Le composant Ttable ne peut liée avec un Datasource que par la propriété "Dataset",cette propriété ("Dataset") est trouvée ds le composant Datasource

    et la proprité "Master source" de composant Ttable utilisé pour faire la jointure entres les différents tables.

    2/chaque TFram correspond a une fiche unique,alors la creation d'un Tfram se fait au moment de la creation de la fiche concérnée(au ce TFram),alors l'évenement de Tfram n'existe pas.

    3/et qui concerne l'évenement créer "OnAfterScroll ",est ce que est un evenement standard,ou bien tu la créer?
    si tu la céer,et si tu veut m'écrire le code source de ce évenement pour mieux comprendre

    merci "thefreecat"

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Par défaut
    2/chaque TFram correspond a une fiche unique,alors la creation d'un Tfram se fait au moment de la creation de la fiche concérnée(au ce TFram),alors l'évenement de Tfram n'existe pas.
    Ce n'est pas une raison valable. Une TFrame peut très bien comporter une phase d'initialisation qui ne dépend pas de la fiche sur laquelle elle se trouve. En l'occurence, j'aurais aimé ouvrir une TTable, toujours la même, quelle que soit la fiche. Je le fais à la création de la fiche mais les TFrame sont supposées éviter qu'on mette du code n'importe où. C'est réussi :-(

    3/et qui concerne l'évenement créer "OnAfterScroll ",est ce que est un evenement standard,ou bien tu la créer? si tu la céer,et si tu veut m'écrire le code source de ce évenement pour mieux comprendre
    Heu, oui, l'évènement OnAfterScroll est un évènement standard de tous les dérivés de TDataset. Si tu relis ma question, tu verras que mon problème n'est pas le code à exécuter, mais le fait qu'il ne s'exécute pas. Du tout. Peu importe quel code donc.


    Après moults essais, j'ai à peu près résolu mes problèmes, à condition de définir le mastersource dans le TForm.OnCreate et d'ouvrir la table/query ensuite.

Discussions similaires

  1. Composant graphique multiple (ou dérivé d'un TFrame)
    Par Jean Bovet dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/04/2007, 18h57
  2. [tframe] passage d'un cadre a l'autre
    Par badrou dans le forum Composants VCL
    Réponses: 11
    Dernier message: 30/11/2004, 15h32
  3. [TFrame]
    Par gamez dans le forum Composants VCL
    Réponses: 22
    Dernier message: 16/06/2004, 18h07
  4. [TFrame] Problème de gestion du OnMouseDown avec une Frame
    Par xherault dans le forum Composants VCL
    Réponses: 5
    Dernier message: 23/05/2003, 15h35
  5. Problème avec un TFrame
    Par mixi dans le forum Langage
    Réponses: 4
    Dernier message: 12/09/2002, 13h25

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