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 :

Dériver un TTabSheet


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 287
    Par défaut Dériver un TTabSheet
    Bonjour,

    Je voulais savoir s'il était possible de dériver un TTabSheet. J'ai besoin de gérer des données complèmentaires pour les onglets d'un pagecontrol, et je pensais dériver un tabsheet comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    myTTabSheett = class(TTabsheet)
        private
          myTypeID : integer;
        public
          procedure SetTypeID(TypeID : integer);
          function GetTypelID : integer;
      end;
    Je peux créer les procedures et fonction.
    Par contre quand je veux utiliser le composant dérivé, Delphi dit ne pas connaitre les fonction SetTypeId et getTypeID.

    Ai-je oublié quelque chose, ou faut-il créer un composant dériver de TabSheet , Merci

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 096
    Par défaut
    Je suppose que tu fais un truc du genre "PageControl.ActivePage", cela te renvoie un TTabSheet donc il faut le caster "(PageControl.ActivePage as myTTabSheett).SetTypeID

    ensuite j'écrirais la classe comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    type
      TTypeIDTabSheet = class(TTabsheet) // La classe commence par un T comme Types
      private
        FTypeID : integer; // F comme Field ...
      protected
        procedure SetTypeID(Value: integer);
        function GetTypeID : integer;
      public
        property TypeID: Integer read GetTypeID write SetTypeID;
      end;
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 944
    Par défaut
    Mets les dans published ?

    Et puis: par convention, écrit TMyTabsheet (pour indiquer un Type), et FmyTypeID

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour,

    A Prioris il ne devrait pas y avoir de problème pour dériver le TTabsheete.

    Le fait que vous ayez un TMyTabbsheete parfaitement utilisable n'implique pas que vous 'ayez pas de problèmes.

    Il vous faut aussi dériver le TPageControl.

    Le TPageControl contient une liste de TTabsheet et non une liste de TMyTabbsheet.

    Votre problème provient peut être de cela.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 287
    Par défaut
    Super ça marche, merci.

    Pas utile de dériver le page control, par contre il faut caster le tabsheet pour récupérer les paramètre spécifiques.

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

Discussions similaires

  1. Driver - carte d'acquisition
    Par Kaiser Söze dans le forum Visual C++
    Réponses: 4
    Dernier message: 06/09/2005, 15h43
  2. Driver ODBC pour interbase
    Par Houben Jacques dans le forum InterBase
    Réponses: 2
    Dernier message: 28/05/2003, 20h41
  3. URGENT DRIVER ODBC
    Par Casp dans le forum Débuter
    Réponses: 3
    Dernier message: 28/04/2003, 16h24
  4. [PostgreSQL] PB de drivers JAVA
    Par koundelitch dans le forum Administration
    Réponses: 5
    Dernier message: 14/03/2003, 15h09
  5. [MFC] Utilisation Drivers
    Par LAPLACE dans le forum MFC
    Réponses: 4
    Dernier message: 21/12/2002, 10h29

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