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 :

Problème de procédure objet : Migration de TForm vers TFrame


Sujet :

Composants VCL Delphi

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : octobre 2003
    Messages : 908
    Points : 438
    Points
    438
    Par défaut Problème de procédure objet : Migration de TForm vers TFrame
    salut,

    J'ai un projet ou j utilise plusieur form et j ai fais une procédure objet, pour que toute les forms puissent réagir a la même procédure

    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
     
    type
     TEmission_douchette=Procedure (trame:string) of object;
     
    procedure X;
    begin
     if length(screen.ActiveForm.Name)<>0 then
      begin
        @fonction_douchette:=screen.ActiveForm.MethodAddress('Emission_douchette');
        if @fonction_douchette<>nil then
        begin
          fonction_douchette(envoi_trame);            
          application.processmessages;
        end;
      end;     
    end;
    Pour plus de simplicité dans mon code j'ai modifier mon programme pour créer dynamiquement des frames. Or maintenant, il n'existe pas de procédure "AcitveFrame" pour savoir qu'elle frame est encours d'affichage. Donc je me retrouve bloquer.

    J ai pensé a faire une boucle de ce style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for loop:=0 to form_pp.ComponentCount-1 do
    begin
      if (form_pp.Components[loop] is Tframe) then
      begin
        showmessage('ok');
      end;
    end;
    Mais la aussi problème ..... car ce n'est paas une classe Tframe , mais des classes de frame propriétaire du style :

    Tframe_login
    Tframe_progression
    .....



    Si vous avez une petit idée , je suis preneur ....
    Merci d avance.

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2003
    Messages : 5 411
    Points : 7 842
    Points
    7 842
    Par défaut
    Salut
    :
    Ton code devrait marcher normalement...
    Sinon essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for loop:=0 to form_pp.ComponentCount-1 do 
    begin 
      if (form_pp.Components[loop].InheritsFrom(Tframe)) then 
      begin 
        showmessage('ok'); 
      end; 
    end;
    Note: il te faudra peut-être caster form_pp.Components pour pouvoir accéder à InheritsFrom...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Membre actif
    Profil pro
    ----
    Inscrit en
    mai 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ----

    Informations forums :
    Inscription : mai 2004
    Messages : 185
    Points : 245
    Points
    245
    Par défaut
    A tu essayer d'utiliser les evenement des TFrame ? En fait je crois que l'interet de créer des frame et que, justsment, ce sont elle même qui sont responsable des évenement quelle receptionne.
    De toutes les choses que j'ai perdue,
    Celle qui me manque le plus...
    c'est mon esprit !

  4. #4
    Membre averti

    Homme Profil pro
    Inscrit en
    octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : octobre 2003
    Messages : 908
    Points : 438
    Points
    438
    Par défaut
    oui je n y avais pas penser !!!!

    Je suis pas en forme aujourd hui. merci

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

Discussions similaires

  1. [11gR2] Problème de performance suite migration Oracle 9i vers Oracle 11g
    Par fifi44680 dans le forum Administration
    Réponses: 8
    Dernier message: 24/05/2014, 01h00
  2. Réponses: 5
    Dernier message: 12/05/2014, 11h44
  3. Réponses: 6
    Dernier message: 20/05/2011, 17h29
  4. Migration SQL 2000 vers 2005 et problème d'Unicode
    Par Micht dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/03/2007, 10h34
  5. Réponses: 2
    Dernier message: 08/12/2005, 06h28

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