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 :

Surcharger la méthode Create du composant TImage


Sujet :

Delphi

  1. #1
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut Surcharger la méthode Create du composant TImage
    Bonjour,

    J'ai parcouru le forum, lu les tutos sur la POO mais je ne parviens pas à mes fins

    J'ai créé un classe TTable, dérivée de TImage.
    Voici le code :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    unit Table;
     
    interface
    uses Champs,QExtCtrls,Dialogs,SysUtils;
     
    type TabListeChamps = array of TChamps;
     
    type TTable=class(TImage)
     
    private
    nom:string;
    lesChamps:TabListeChamps;
    nbElements:integer;
    indiceCourant:integer;
     
    public
     
     
    procedure setNom(unNom:string);
    function getNom:string;
    procedure AddField(leChamps:TChamps);
    procedure RemoveLastField;
    procedure RemoveAField(intitule:string);
    procedure RemoveAllFields;
    function ListFields:TabListeChamps;
    procedure DrawTable;virtual;abstract;
    constructor Create;
    end;
     
    implementation
     
    constructor TTable.Create;
    begin
    nbElements:=0;
    indiceCourant:=0;
    end;
     
    procedure TTable.RemoveAllFields;
    begin
    nbElements:=0;
    SetLength(lesChamps,nbElements);
    end;
     
    procedure TTable.RemoveAField(intitule:string);
    var
    i,j:integer;
    trouver:boolean;
    begin
    i:=0;
    trouver:=false;
    if (nbElements<>0) then
    begin
    repeat
     //if (i<high(lesChamps)) then
     //i:=i+1;
     if (lesChamps[i].getIntitule = intitule) then
     trouver:=true
     else
     i:=i+1;
    until ((trouver) or (i=high(lesChamps)+1));
     
    if (trouver) then
    begin
    for j:=i to high(lesChamps)-1 do
    lesChamps[i]:=lesChamps[i+1];
    nbElements:=nbElements-1;
    SetLength(lesChamps,nbElements);
    end
    else
    ShowMessage('L''élément à supprimer n''existe pas');
    end
    else
    ShowMessage('Aucun champs présent pour cette entité');
    end;
     
    function TTable.ListFields:TabListeChamps;
    begin
    result:=lesChamps;
    end;
     
    end.
    Ensuite, viens 2 classes enfants à TTable qui TEntite et TRelation.

    Voici la déclaration d'une d'entre elles :

    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
    17
    18
    19
    20
    21
    22
    23
    unit Entite;
     
    interface
     
    uses QExtCtrls,Dialogs,SysUtils,Table;
     
    type TEntite=class(TTable)
     
    public
    procedure DrawTable;override;
     
    end;
     
    implementation
     
    uses UPrincipale;
     
    procedure TEntite.DrawTable;
    begin
    ShowMessage('Essai de la méthode');
    end;
     
    end.
    Je ne sais pas comment déclarer le create pour :
    - dans la classe TTable, je puisse initialiser des valeurs
    - dans mes classes dérivée de TTable, pourvoir avoir le create de la classe TTable tout en y ajoutant du code supplémentaire.

    J'espère que vous pourrai m'éclairer car entre override, overload, inherited etc ... je commence a m'emmélé les pinceaux :

    Si je comprends bien :
    - override surcharge une méthode avec des paramètres supplémentaires
    - overload permet de redéfinir entièrement une méthode (cela veut-il dire que l'on reprends une méthode et qu'on "la vide" ?)
    - inherited permet d'appelant une méthode d'un parent.

    Merci de votre aide
    Cordialement Ero-Sennin

  2. #2
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 15
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    bonjour,

    Citation Envoyé par ero-sennin
    J'ai créé un classe TTable
    Horreur, ce nom existe déjà !

    Citation Envoyé par ero-sennin
    Je ne sais pas comment déclarer le create pour :
    - dans la classe TTable, je puisse initialiser des valeurs
    comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    constructor TTable.Create;
    begin
      // Appel la création de l'objet dont il hérite
      inherited; 
      
      // initialisation :
      nbElements:=0;    
      indiceCourant:=0;
    end;
    Citation Envoyé par ero-sennin
    - dans mes classes dérivée de TTable, pourvoir avoir le create de la classe TTable tout en y ajoutant du code supplémentaire.
    Que dire de plus, voir au dessus.

    a+

  3. #3
    Membre habitué Avatar de jambonstar
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 175
    Points : 161
    Points
    161
    Par défaut
    Sur le principe :

    Surcharger une méthode de classe, c'est ajouter un traitement avant ou apres le traitement de la classe parente...

    En gros ton Timage à son create, qui fait plein de trucs bien que tu ne dois pas enlever.

    Mais toi tu veux que ton TTable fasse tout les trucs du TImage mais avec en plus des propres actions.

    C'est là qu'est utile le override et le inherrited.

    override pour dire que tu vas surcharger.

    Et le inherrited est en quelque sorte la surcharge elle meme.

    Si tu commence ta procedure create avec inherrited, tout le chargement va se faire avant ton propre traitement.
    Si tu mets ton traitement suivi du inherrited, le traitement du Timage se fera apres.

    Do U understand ?

    No... Me too....

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Merci pour ces 2 premières réponses !

    => Yurck:

    Je ne savais pas que le nom de cette classe existait déjà ! Je changerai cela donc ....

    Pour ce qui est de ton code, je ca ne fonctionne pas
    Il me dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Erreur] Table.pas(34): Types incompatibles
    Je poste ici juste le create :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    type TabListeChamps = array of TChamps;
     
    type TTables=class(TImage)
     
    private
    nom:string;
    lesChamps:TabListeChamps;
    nbElements:integer;
    indiceCourant:integer;
     
    public
     
     
    procedure setNom(unNom:string);
    function getNom:string;
    procedure AddField(leChamps:TChamps);
    procedure RemoveLastField;
    procedure RemoveAField(intitule:string);
    procedure RemoveAllFields;
    function ListFields:TabListeChamps;
    procedure DrawTable;virtual;abstract;
    constructor Create;
    end;
     
    implementation
     
    constructor TTables.Create;
    begin
    Inherited;// ERREUR ICI
    nbElements:=0;
    indiceCourant:=0;
    end;
    =>jambonstar :

    Je pense avoir saisi en gros ! Merci de ta réponse

  5. #5
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Dans la partie interface:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      constructor Create(AOwner: TComponent); override;
    Dans la partie Implementation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    constructor TTables.Create(AOwner: TComponent);
    begin
      Inherited Create(AOwner);
      // ...
    end;
    @+

  6. #6
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 15
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Lorsque tu veus surcharger une méthode tu dois avoir la même signature.

    Timage lui même à un ascendant qui a un ascendant etc...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    .....
    
        constructor Create(AOwner: TComponent); override;
      end;
    
    implementation
    
    constructor TTables.Create(AOwner: TComponent);
    begin
      Inherited;
      nbElements:=0;
      indiceCourant:=0;
    end;

  7. #7
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Merci à Cl@udius et à toi Yurck! Ces 2 propositions fonctionne parfaitement !

    Petite question tout de même :
    Laquelle de ces 2 méthodes est la plus propre ?
    Y a t-il une différence quelconque ?

    Il me reste à faire le create des classes dérivées (je pense m'en sortir avec tout ca).

    Merci

  8. #8
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut Yurck,

    Citation Envoyé par Yurck
    Je vois plus un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Inherited Create(Owner);
    Non ?

  9. #9
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    J'ai encore un petit soucis

    Voci ma classe Entite :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    unit Entite;
     
    interface
     
    uses QExtCtrls,Dialogs,SysUtils,Table,Classes,Graphics,QGraphics;
     
    type TEntite=class(TTables)
     
    public
    procedure DrawTable;override;
    constructor Create(AOwner: TComponent); override;
     
    end;
     
    implementation
     
    uses UPrincipale, QControls;
     
    constructor TEntite.Create(AOwner: TComponent);
    begin
    inherited;
    Self.Width:=150;
    Self.Height:=200;
    Self.Canvas.Pen.Color:=clBlack;
    Self.Canvas.Brush.Color:= clBlue;
    Self.Canvas.Brush.Style:=bsSolid;
    Self.Canvas.Rectangle(0,0,Self.Width,Self.Height);
    Self.Canvas.Polyline([Point(0,20),Point(Self.Width,20)]);
    Repaint;
    end;
     
    procedure TEntite.DrawTable;
    begin
    ShowMessage('Essai de la méthode');
    end;
     
    end.
    Pour ce qui ai de la classe Tables, je n'ai rien apporté comme modif ci ce n'est les explications des posts précédents.

    Pour créer un objet de type TEntités, j'ai fait :

    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
    17
    18
    var
      Form1: TForm1;
      Entite:TTables;
      laListeChamps:TabListeChamps;
     
    implementation
     
    uses DateUtils;
     
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Entite:=TEntite.Create(Image1);
    Entite.setNom('Utilisateur');
    Entite.Repaint;
    end;
    Je crée donc un Objet Entité (héritant d'un TImage) sur un autre TImage qui me sert de fond d'écran.
    Il me manque la ligne Entite.Parent:= ..... et c'est la le soucis.
    Je n'ai le chois qu'entre : TEntite, TTables et l'objet Entite.

    Moi je souhaites créer mon objet sur le Image1 mais au niveau du parent, impossible de le sélectionner !

    Aurai-je manqué une info essentielle??

    Merci

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    C'est normal, le parent doit être de type TWinControl or le TImage est de type TGraphicControl. Tu ne peux donc pas définir un TImage comme le parent d'un autre TImage (ou d'un descendant) ... En fait le parent doit être un conteneur et le Timage n'est pas un conteneur ...
    Ne peux-tu pas définir ta form comme étant le parent de ta Timage ?Bon courage !
    Eb.

  11. #11
    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 : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par Cl@udius
    Je vois plus un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Inherited Create(Owner);
    Non ?
    Non ce n'est pas nécessaire si la déclaration de Create est la même dans l'objet ancêtre Un simple:
    suffit alors

  12. #12
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    @Pedro

    D'accord, la transmission du Owner est implicite alors.
    OK, merci pour l'info.

    @+ Claudius

  13. #13
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Non, je n'ai le choix qu'entre les 3 choix que j'ai cité dans le post précédent !
    Je n'ai même pas accès à ma form !!!

    J'avoue ne pas comprendre , est-ce le create de mon Objet entité qui me fait ca?
    Je l'ai bien déclaré non?

  14. #14
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Tu es sûr de ne pas pouvoir écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Entite:=TEntite.Create(Image1); 
      Entite.setNom('Utilisateur');
      Entite.parent := Self;
      Entite.Repaint;
    end;
    Je ne comprends pas ... Ou bien un truc m'échappe dans tout ça ...
    Eb.

  15. #15
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Sur a 100%.

    J'ai cette erreur si je force :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Erreur] UPrincipale.pas(56): Types incompatibles : 'TWidgetControl' et 'TForm1'

  16. #16
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Tu utilises les bibliothèques Clx (Qforms, QControl) ?

  17. #17
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Non!

    Apparemment ca vient de là mon problème !
    Je suis obligé de remet à chaque fois les unités ascendants du composant alors?

    J'ai fait un test, et là, j'ai bien toute la liste des conteneurs possibles. ...

    J'ai encore un problème sur une ligne mais je vais d'abord chercher

    Merci ebastien

  18. #18
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Problème résolu !

    Mon erreur? Ba j'en sait rien, j'avais mal déclarée mes unités sans doute !

    En tout cas, tout fonctionne !

    Merci pour votre aide à tous!!

    PS :

    Voici la déclaration des uses:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uses ExtCtrls,Dialogs,SysUtils,Table,Classes,Graphics;

  19. #19
    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 : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par ebastien
    Tu utilises les bibliothèques Clx (Qforms, QControl) ?
    Citation Envoyé par ero-sennin
    Non!
    Si si
    Si je relis ton code, il y a bien des unités CLX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    uses QExtCtrls,Dialogs,SysUtils,Table,Classes,Graphics,QGraphics;
    QExtCtrls et QGraphics sont des unités CLX

    Du coup, en enlevant les "Q" des noms d'unités, tu passes en VCL Et donc, le transtypage fonctionne

  20. #20
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Oops, autant pour moi!

    Je débute juste dans le monde de la POO et j'ai encore pas mal à apprendre !

    Pas facile de naviguer entre toutes ces unités

    Merci pour cette info Pedro

    EDIT :

    Donc, je dois utilisé la VCL et non les CLX ?
    C'était donc ca mon erreur? Mettre les Q... alors qu'il ne fallait mettre que les unités VCL!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/12/2010, 11h26
  2. Comment surcharger la méthode OnClose d'un TFrame ?
    Par sdebrois dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/01/2005, 20h57
  3. [BCB6]Redimentionnement manuel d'un composant TImage
    Par vsavoir dans le forum C++Builder
    Réponses: 4
    Dernier message: 22/09/2004, 11h55
  4. [C#] Une seule méthode pour plusieurs composants
    Par niPrM dans le forum Windows Forms
    Réponses: 8
    Dernier message: 01/06/2004, 14h41
  5. mettre a blanc le composant TImage
    Par Chonchon dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/11/2003, 09h24

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