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 :

Creation d'évènement dans un TEDIT


Sujet :

Delphi

  1. #41
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Clorish
    PArce que pour que l'inspecteur d'objet puisse y acceder il lui faut certaines information dite RTTI. JE ne suis pas expert en la matiere mais il me semble que ces focntions sont introduite a partir de TComponent classe de base de tout Composants graphique ou non.

    Donc ... si il derive d'une classe anterrieure ... je ne suis pas sur que ca reagisse bien
    Les RTTI étendues (informations sur les propriétés publiées) sont disponibles pour toute classe dérivant de TPersistent (dont dérive TComponent).

    En fait c'est comme ça parce que TPersistent est déclaré en mode {$M+} (RTTI étendues). Et qu'une classe qui dérive d'une classe en mode {$M+} est automatiquement mise en mode {$M+} elle aussi.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  2. #42
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Quels source d'information ce sjrd

    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  3. #43
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Ludo_360
    c bizar parceque il me met un message par rapport a mon destructeur a la compilkation du package, mais j'avais le même à la compilation d'une application utilisant mon Edit...
    Ca ne m'étonne pas ! Tu dois déclarer ton destructeur override.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    destructor Destroy; override;
    Sinon euh... Comment expliquer ça... Ca marche pas

    Bon en fait c'est parce qu'il faut que Free qui est déclaré dans TObject puisse connaître le Destroy qui est déclaré chez toi. Et pour ça il faut le mécanisme des méthodes virtuelles. Comme le Destroy de TObject est déclaré virtual, tu dois mettre le tient override, pour dire au compilateur que tu parles du même, mais simplement qu'il est réimplémenté.

    Bon là j'ai super vulgarisé, hein. Les puristes me pardonneront
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  4. #44
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Clorish
    Quels source d'information ce sjrd
    Bah en même temps, c'est mon dada, les fondements du langage Delphi Depuis quelques semaines, là, je maîtrise du feu de Dieu T'as déjà été voir ce thread sur le forum Sepi ?
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  5. #45
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Oui je t'ai deja entedu parler de ce truc ya un moment .... mais .... suite aux dernieres lubie de mon patron, Ce projet m'interesse en fait de plus en plus

    Je vais peut etre le suivre avec plus d'attention :p
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  6. #46
    Membre habitué Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Points : 191
    Points
    191
    Par défaut
    J'avais déjà mis override dans la déclaration du destructeur, Clorish m'en avait parlé... mais ça ne marchait pas du tout... alors j'ai laissé comme présenté au dessus puisque dans ce cas j'ai juste un avertissement... Mais alors ma mémoire n'est pas libérée? ou elle l'est mais le destructeur de TObject est ignoré, remplacé par le miens ?

    message d'erreur:
    ---------------------------
    Erreur d'application
    ---------------------------
    Exception EAccessViolation dans le module feuille_test.exe dans 00000000.

    Violation d'accès à l'adresse 00000000. Lecture de l'adresse 00000000.


    ---------------------------
    OK
    ---------------------------

  7. #47
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    En fait, Free va appeler le destructeur de la classe qu'il connait c'est a dire TObject.
    Tant que les sou classe son definie en Override, il prendra en compte la leur.
    Toi tu as d'une certaine maniere "cassé" cette chaine, donc il s'arretera a l'instance d'avant.

    Ton destructeur ne pourra etre appele que depuis une variable du type de ta classe et non pas de type supperieur.

    Jette un coup d'oeil dans un des thread au dessous, j'ai deja developpé ce concept

    Don en resumé, ton objet sera libéré mais ton code non executé.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  8. #48
    Membre habitué Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Points : 191
    Points
    191
    Par défaut
    Jette un coup d'oeil dans un des thread au dessous, j'ai deja developpé ce concept
    ?? dslé je n'ai pas saisi.. au dessous de quoi?


    apparemment l'application ne supporte pas le "pnl.free" ...
    ludo

  9. #49
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par Ludo_360
    ?? dslé je n'ai pas saisi.. au dessous de quoi?
    Ben en fait c'est a toi quej'ai deja repondu
    http://www.developpez.net/forums/sho...5&postcount=11
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  10. #50
    Membre habitué Avatar de Ludo_360
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 295
    Points : 191
    Points
    191
    Par défaut
    Mon pnl.free ne passe pas du tout!

    il me génère un message d'erreur :
    ---------------------------
    Erreur d'application
    ---------------------------
    Exception EAccessViolation dans le module feuille_test.exe dans 00000000.

    Violation d'accès à l'adresse 00000000. Lecture de l'adresse 00000000.


    ---------------------------
    OK
    ---------------------------
    Franchement je vois vraiment ce que c'est... Ou alors j'ai pas bien compris la leçon...
    :s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public
             Destructor Destroy; override;
     
    (***)
    destructor TMonEdit.Destroy;
    begin
       pnl.Free;
       inherited;
    end;
    Sinon le reste de l'application marche parfaitement, ça fait même plutôt classe!

    merci de l'aide!!!

    ludo

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Réponses: 10
    Dernier message: 21/02/2007, 20h16
  2. [CSS] Définir un évènement dans un CSS
    Par PierrotY dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 30/03/2005, 11h49
  3. Probleme collage dans un TEdit
    Par Zetmurin dans le forum C++Builder
    Réponses: 5
    Dernier message: 08/10/2004, 13h19
  4. Perte de gestionnaire d'événements dans une fenêtre
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 15
    Dernier message: 23/08/2004, 20h14
  5. Modifier un événement dans le code
    Par HT dans le forum Langage
    Réponses: 6
    Dernier message: 20/06/2003, 09h46

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