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 :

Classe non reconnue bien que son unité soit en uses


Sujet :

Langage Delphi

  1. #1
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut Classe non reconnue bien que son unité soit en uses
    Bonjour,

    Voulant adapter un code Lazarus sous Delphi, je dois dériver une classe du StringGrid, dont j'ai bien ajouté l'unité VCL.Grids à la clause Uses de mon unité.

    Malgré cela, j'obtiens un message d'erreur "identificateur 'TStringGrid' non déclaré" en déclarant le type : TdySQliteGrid = class(TStringGrid) :

    Nom : GridNonDeclare.png
Affichages : 274
Taille : 64,5 Ko

    Dans le même temps, en vérification de syntaxe, j'ai le conseil :
    [dcc32 Conseil] dySQLiteFields.pas(71): H2269 La méthode virtuelle redéfinie 'TdySQliteGrid.WndProc' a une visibilité inférieure (private) à celle de la classe de base 'TStringGrid' (protected)

    Je ne vois pas ce qui cloche, quand bien même cela crèverait les yeux !

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 446
    Points : 5 867
    Points
    5 867
    Par défaut
    salut

    as tu essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Type 
      TMyGrid = CLass (VCL.GRIDS.TStringGrid)
      ...
    histoire qu'il n'y ai pas d’élément perturbateur

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut
    Il y a bien un élément perturbateur : en le préfixant, j'ai le message loufoque suivant :
    'Vcl.Grids' ne contient pas un membre nommé 'TStrinGrid'
    Il y a du moisi dans tout ceci, probablement bien caché !

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut
    Il semble que la fermeture/réouverture de l'EDI ait résolu le problème... que je marque résolu, quitte à revenir dessus en cas de réapparition du souci !

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 268
    Points : 41 671
    Points
    41 671
    Billets dans le blog
    64
    Par défaut
    Bonjour,

    tu aurais peut être du faire une dérivée de TCustomGrid plutôt que TStringGrid ...
    c'est juste une question de visibilité de WndProc qui gène tu as du redéclaré cette dernière en private ou quelque chose du même genre

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut
    Bonjour Serge,

    J'ai tenu compte de l'avertissement, justifié, mais remettre WndProc en protected n'avait rien changé... Bug IDE ?

  7. #7
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 509
    Points : 2 780
    Points
    2 780
    Billets dans le blog
    10
    Par défaut
    J'ai vu "Lazarus" dans ton premier post ?

  8. #8
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut
    Oui, je voulais adapter pour Delphi 10.2.3 CE des unités développées sous D5 puis portées sous CodeTyphon.
    Il m'a fallu modifier très peu de choses, mais les StringGrid de Delphi n'implémentent pas nativement une fonction de validation de la saisie dont j'ai besoin, d'où la nécessité de les dériver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // type natif sous Lazarus, dont les StringGrids permettent la validation de saisie
    TValidateEntryEvent = procedure(Sender: TObject; aCol, aRow: Integer; const aOldValue: string; var aNewValue: String) of Object;
    J'ai d'ailleurs cherché comment leur adjoindre cette fonctionnalité sans les dériver, mais je ne vois pas comment faire avec un class helper et me suis résigné à cette sorte de code.
    Mon but initial était de n'utiliser que des types simples natifs, mais pour rendre l'interaction bidirectionnelle entre StringGrid et BDD, il me fallait un événement de fin de saisie que je n'ai pas trouvé sous Delphi... Toutes les idées sont d'ailleurs bienvenues !

    NB : ce matin, l'IDE s'ouvre parfaitement, sans message d'erreur surprenant comme il était advenu hier : a priori réglé !

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

Discussions similaires

  1. Classe non reconnue lors de la publication sur Internet
    Par Delphi-ne dans le forum ASP.NET
    Réponses: 16
    Dernier message: 28/01/2011, 14h19
  2. class non reconnu :S
    Par vb_boycotter dans le forum ASP.NET
    Réponses: 4
    Dernier message: 19/05/2009, 12h25
  3. Type de classe non enregistrée à partir de son nom
    Par Grosbenji dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/05/2009, 09h51
  4. Classe non reconnu projet
    Par Hurin dans le forum ASP.NET
    Réponses: 6
    Dernier message: 06/06/2008, 12h49
  5. Classe non reconnue et pourtant bel-et-bien inclue
    Par Vitaly dans le forum Langage
    Réponses: 19
    Dernier message: 18/07/2007, 01h45

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