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

Lazarus Pascal Discussion :

Problème d'installation de composant : erreur "Impossible de trouver componenttreeview.pas"


Sujet :

Lazarus Pascal

  1. #1
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut Problème d'installation de composant : erreur "Impossible de trouver componenttreeview.pas"
    Salut à tous

    Voilà je suis en train de créer un composant graphique et lors de l'installation j'ai l'erreur suivante:
    Impossible de trouver componenttreeview.pas
    Ce fichier ne fait pas du tout partie de mon composant et j'ai fini par le trouver dans le répertoire lazarus\components\ideintf
    Mais quand je met ce chemin dans les chemins supplémentaire de mon paquet, la compilation de Lazarus me sort la même erreur

    J'avoue que je sèche
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Salut,

    Et en passant par Projet / Inspecteur de projet / Ajouter / Nouvelle condition / Nom du paquet et faire dérouler pour trouver ideIntf ?

    Jamais testé en création de composant, mais c'est un truc qui me fait galérer, parfois...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Ca ne marche pas car il ne propose que les composants installé et comme je n'arrive pas à l'installer il n'est pas dans la liste
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Citation Envoyé par Gouyon Voir le message
    Ca ne marche pas car il ne propose que les composants installé et comme je n'arrive pas à l'installer il n'est pas dans la liste
    On parle bien de IDEintf ?

    Images attachées Images attachées  
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 749
    Points
    9 749
    Par défaut
    Bonjour,

    J'ai eu le même problème (exactement) suite à l'installation de la dernière version.

    J'ai tout désinstallé et tout réinstallé et ça fonctionne. Ne me demandez pas pourquoi, mais c'est ce que j'ai fait !
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  6. #6
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Jon Shannow Voir le message
    J'ai tout désinstallé et tout réinstallé et ça fonctionne. Ne me demandez pas pourquoi, mais c'est ce que j'ai fait !
    Je confirme c'est la solution que j'ai finalement utilisée. Mais j'ai fait aussi quelque modifications sur l'emplacement de mon composant (je l'ai mis dans le registre "Standard" au lieu de "Misc") et j'ai complété les procédures qui manquait.

    Par contre maintenant si je le met sur une Form il me met une Unknown Runtime error 202 et l'interface plante complètement

    Voici mon 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
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    unit illustratedBarGraphRG;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls;
     
    type
      TillustratedBarGraph = class(TImage)
      private
        { Private declarations }
      protected
        { Protected declarations }
        function GetNombreDeCellules:integer;
        procedure SetNombreDeCellules(Nb:integer);
      public
        { Public declarations }
        constructor Create(AOwner :TComponent); override;
        procedure Paint; override;
      published
        { Published declarations }
        property Align;
        property Anchors;
        property AntialiasingMode;
        property AutoSize;
        property BorderSpacing;
        property Center;
        property Constraints;
        property Cursor;
        property DragCursor;
        property DragMode;
        property Enabled;
        property Height;
        property HelpContext;
        property HelpKeyword;
        property HelpType;
        property Hint;
        property Left;
        property Name;
        property ParentShowHint;
        property Picture;
        property PopupMenu;
        property Proportional;
        property ShowHint;
        property Stretch;
        property Tag;
        property Top;
        property Transparent;
        property Visible;
        property Width;
     
        property NombreDeCellules:integer read GetNombreDeCellules write SetNombreDeCellules;
      end;
     
    procedure Register;
     
    implementation
     
    procedure Register;
    begin
      {$I illustratedbargraphRG_icon.lrs}
      RegisterComponents('Standard',[TillustratedBarGraph]);
    end;
    constructor TillustratedBarGraph.Create(AOwner :TComponent);
    begin
      inherited Create(AOwner);
      NombreDeCellules:=1;
      Height:=72;
      self.Width:=72;
    end;
    procedure TillustratedBarGraph.Paint;
    begin
      inherited Paint;
      //Canvas.Rectangle(0,0,10,10);
    end;
     
    function TillustratedBarGraph.GetNombreDeCellules:integer;
    begin
      result:=NombreDeCellules;
    end;
     
    procedure TillustratedBarGraph.SetNombreDeCellules(Nb:integer);
    begin
     NombreDeCellules:=Nb;
    end;
     
    end.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  7. #7
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par Gouyon Voir le message
    Par contre maintenant si je le met sur une Form il me met une Unknown Runtime error 202 et l'interface plante complètement
    C'est pour cela que je préfère toujours passer par des tests "runtime" avant de faire le paquet...

    Cela étant, l'erreur s'explique par le manque de la variable privée associée à la propriété.
    Voici le code amendé qui devrait beaucoup mieux fonctionner :
    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    unit illustratedBarGraphRG;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls;
     
    type
      TillustratedBarGraph = class(TImage)
      private
        { Private declarations }
        FNombreDeCellules: Integer; // A RAJOUTER
      protected
        { Protected declarations }
        function GetNombreDeCellules:integer;
        procedure SetNombreDeCellules(Nb:integer);
      public
        { Public declarations }
        constructor Create(AOwner :TComponent); override;
        procedure Paint; override;
      published
        { Published declarations }
        property Align;
        property Anchors;
        property AntialiasingMode;
        property AutoSize;
        property BorderSpacing;
        property Center;
        property Constraints;
        property Cursor;
        property DragCursor;
        property DragMode;
        property Enabled;
        property Height;
        property HelpContext;
        property HelpKeyword;
        property HelpType;
        property Hint;
        property Left;
        property Name;
        property ParentShowHint;
        property Picture;
        property PopupMenu;
        property Proportional;
        property ShowHint;
        property Stretch;
        property Tag;
        property Top;
        property Transparent;
        property Visible;
        property Width;
     
        property NombreDeCellules:integer read GetNombreDeCellules write SetNombreDeCellules;
      end;
     
    procedure Register;
     
    implementation
     
    procedure Register;
    begin
      {$I illustratedbargraphRG_icon.lrs}
      RegisterComponents('Standard',[TillustratedBarGraph]);
    end;
    constructor TillustratedBarGraph.Create(AOwner :TComponent);
    begin
      inherited Create(AOwner);
      NombreDeCellules:=1;
      Height:=72;
      self.Width:=72;
    end;
    procedure TillustratedBarGraph.Paint;
    begin
      inherited Paint;
      //Canvas.Rectangle(0,0,10,10);
    end;
     
    function TillustratedBarGraph.GetNombreDeCellules:integer;
    begin
      // result:=NombreDeCellules;  // A REMPLACER !
      Result := FNombreDeCellules;
    end;
     
    procedure TillustratedBarGraph.SetNombreDeCellules(Nb:integer);
    begin
     // NombreDeCellules:=Nb; // A REMPLACER !
      FNombreDeCellules := Nb;
    end;
     
    end.
    Philippe.

  8. #8
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Effectivement je m'en suis aperçu après.
    Ceci dit c'est très sensible car après correction et vérification du bon fonctionnement j'ai ajouté
    Canvas.Rexctangle(10,20,20,30);
    Dans la procédure Paint et là Lazarus à explosé dès que j'ai posé le composant sur une Form et réinstallation de Lazarus
    Du coup je le fait en "runtime" et après j'essayerais d'en faire un Composant
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  9. #9
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour,

    Je viens d'avoir le même problème lors de l'install d'un paquet, et j'ai opté aussi pour la solution de Jon (tout désinstaller, puis réinstaller). Merci pour le tuyau.

    @Gouyon :

    Je crois voir d'où vient le problème de ton Canvas.Rectangle.
    TImage est dérivé de TCustomImage et celui-ci de TGraphicControl.

    TGraphicControl a son propre Canvas que l'on peut utiliser sans aucun problème en design-time.
    Par contre, quand tu utilises pour la première fois la propriété Canvas de TCustomImage, il y a création d'un bitmap aux dimensions du composant, et le Canvas sur lequel tu dessines est en fait celui du bitmap.
    Cette création n'est évidemment plus à faire lorsque Picture a été assigné.
    Donc en design-time, cela ne peut poser que des problèmes (dimensionnement du composant, taille du bitmap...).

    Tu ne devrais plus avoir de problèmes en mettant dans ta procedure Paint :
    if not(csDesigning in ComponentState) then Canvas.Rectangle(0,0,10,10);

    Pour que cela marche en design-time, je te conseille de dériver ton composant de TCustomImage et de réécrire la procedure Paint.
    Voir fichier : customimage.inc

    Tu remarqueras que le Paint utilise "inherited Canvas", c'est-à-dire celui de TGraphicControl.

    Thierry

  10. #10
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Merci pour ces précisions j'essayerais dès que possible.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

Discussions similaires

  1. Problème d'installation des composant Orpheus
    Par Claude l'ancien dans le forum Composants VCL
    Réponses: 5
    Dernier message: 08/06/2011, 12h01
  2. problème en installant des composants TMS pour BCB6
    Par chamamo dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/06/2008, 09h41
  3. Réponses: 1
    Dernier message: 09/12/2005, 09h16
  4. Réponses: 3
    Dernier message: 01/08/2005, 21h32
  5. Réponses: 2
    Dernier message: 31/07/2005, 14h52

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