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

Langage Delphi Discussion :

Retrouver qui a implémenté une class de TObject.


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut Retrouver qui a implémenté une class de TObject.
    Bonjour,
    je n'arrrive pas à résoudre un petit problème.
    J'ai créé une class TBalluff de TObject dans une unité séparée d'une application.
    Lorsque j'implémente cette class, j'ai besoin de connaître le handle de la fenêtre par laquelle cette classe à été implémentée car je dois faire un SendMessage.
    Cette class peut être implémentée dans diverses forms de l'application.
    Je pense que la réponse doit être du genre "If(Owner is TfrmBancLecture)then
    SendMessage(TfrmBancLecture(Owner).Handle,WM_MESSAGE_PORTSERIE_FERMER,0,0); ", mais je n'arrive pas à trouver comment faire au niveau du "Owner ".
    Merci de votre aide.

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut
    salut,
    Citation Envoyé par billbocquet
    Lorsque j'implémente cette class, j'ai besoin de connaître le handle de la fenêtre par laquelle cette classe à été implémentée car je dois faire un SendMessage.
    je me dis que tu ne t'exprimes pas avec les termes exacts, et je crois que'en fait tu veux dire:

    Lorsque j'implémente cette classe ,j'ai besoin de connaitre le Handle de la fenêtre par laquelle cette instance de classe appartient, car de dois faire un SendMessage
    note c'est comme ca que je comprend un peu.
    déjà il faut te signaler quelque chose: ta classe est dérivée de TObject, qui est l'ancêtre de tous les objets de la VCL mais celle-ci ne te permet pas de faire ce que tu désires, soit connaitre l'objet auquel appartient ton objet.
    je te propose donc de dériver ta classe plutôt de TComponent, dans son contructeur il y a un paramètre AOwner qui est l'objet qui est chargé de la Libération de ton Objet.
    autre chose, pour que tu puisse utiliser le son handle l'objet auquel appartient ton objet doit être dérivé de la classe TWinControl, si ton objet appartiendra systématiquement à ta Form alors il n'y a pas de problème, sinon il faut faire gaffe

    ainsi tu pourras avoir un code du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SendMessage( (self.Owner as TWinControl).Handle, ...);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     TWinControl( self.Owner ).Perform( Message, ... );
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     if Assigned( self.Owner ) then
      TForm( self.Owner ).Perform( Message, ... );
    bon peut-être je n'ai pas été assez clair ou alors trop flou mais j'espère que tu comprends

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Par défaut
    voir aussi FAQ sur les RTTI
    Bon code

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/01/2010, 13h59
  2. Réponses: 9
    Dernier message: 04/11/2008, 18h05
  3. Un attribut qui puisse être une classe A,B ou C ?
    Par visiwi dans le forum Langage
    Réponses: 6
    Dernier message: 29/08/2008, 11h34
  4. Réponses: 7
    Dernier message: 17/05/2006, 12h20

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