[BCB6] Prb de conception de compo herite de TTreeWiev
3 réponses
Olivier
Bonjour
je conçois un composant qui herite de TTreeView ,et me permet en plus de
charger l'image de fond de mon controle .
j'ai suivi le tutoriel de CGI pour "le tapisseur"
http://chgi.developpez.com/compo/
cependant le composant se compile puis s'installe et BCB crie
d'autre par dans la palette quand le selectionne et que je le pose sur un
formulaire il me dit "Erreur interne efface"
Mon fichier dcr s'apelle TMyTreeView.dcr et l'icone est 24x24
avec le nom en majuscule
#
include "TMyTreeView.h"
#include "MyError.h"
#pragma package(smart_init)
file://---------------------------------------------------------------------
------
// ValidCtrCheck est utilisé pour vérifier que les composants créés n'ont
// aucune fonction virtuelle pure.
//
d'autre par j'ai parametré le paquet d'execution en conception
et execution est ce une bonne solution ?
Il y a d'autre parametre a toucher,j'ai active aussi codeguard
Autre chose je voudrais que sur la propriete Path_Img en mode conception apparaisse une boite de dialogue permettant de
choisir le fichier (comme fichier->Ouvrir par exemple avec un filtre)
comment faire pour que cela soit dans l'inspecteur d'object ?
Il y a t'il des chose a mettre dans le destructeur ?
Comment faire pour faire du pas a pas (debug) avec le compo et un
form ?
encore merci de votre aide
-
Cordialement ,
Sarda Olivier
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Leunen
Olivier wrote:
cependant le composant se compile puis s'installe et BCB crie d'autre par dans la palette quand le selectionne et que je le pose sur un formulaire il me dit "Erreur interne efface"
Erreur souvent en relation avec les blocs try/catch
}catch(EFOpenError r){
On catch les exceptions par référence:
catch(EFOpenError &r)
d'autre par j'ai parametré le paquet d'execution en conception et execution est ce une bonne solution ?
Ca, c'est à toi de voir. Dans un cas, tu dois redistribuer certaines dll, et pas dans l'autre cas.
Autre chose je voudrais que sur la propriete Path_Img en mode conception apparaisse une boite de dialogue permettant de choisir le fichier (comme fichier->Ouvrir par exemple avec un filtre) comment faire pour que cela soit dans l'inspecteur d'object ?
Tu dois créer un property Editor. Le sujet est un peu trop vaste pour être traité ici. Je crois qu'il y a des exemples dans l'aide sinon Google...
Il y a t'il des chose a mettre dans le destructeur ?
Pas dans ton cas.
Comment faire pour faire du pas a pas (debug) avec le compo et un form ?
Tu crées une appli qui utilise ton composant en l'initialisant lors de son exécution. Autrement dit, tu ne le mets pas sur ta form mais tu l'initialises avec new sans oublier d'ajouter à ton projet le fichier source de ton composant et d'inclure son fichier d'entête dans ton Unit1.h ou Unit1.cpp.
Michel -- ---------------------------------------- Michel Leunen mailto: http://www.leunen.com/cbuilder/ ----------------------------------------
Olivier wrote:
cependant le composant se compile puis s'installe et BCB crie
d'autre par dans la palette quand le selectionne et que je le pose sur un
formulaire il me dit "Erreur interne efface"
Erreur souvent en relation avec les blocs try/catch
}catch(EFOpenError
r){
On catch les exceptions par référence:
catch(EFOpenError &r)
d'autre par j'ai parametré le paquet d'execution en conception
et execution est ce une bonne solution ?
Ca, c'est à toi de voir. Dans un cas, tu dois redistribuer certaines
dll, et pas dans l'autre cas.
Autre chose je voudrais que sur la propriete Path_Img en mode conception apparaisse une boite de dialogue permettant de
choisir le fichier (comme fichier->Ouvrir par exemple avec un filtre)
comment faire pour que cela soit dans l'inspecteur d'object ?
Tu dois créer un property Editor. Le sujet est un peu trop vaste pour
être traité ici. Je crois qu'il y a des exemples dans l'aide sinon Google...
Il y a t'il des chose a mettre dans le destructeur ?
Pas dans ton cas.
Comment faire pour faire du pas a pas (debug) avec le compo et un
form ?
Tu crées une appli qui utilise ton composant en l'initialisant lors de
son exécution. Autrement dit, tu ne le mets pas sur ta form mais tu
l'initialises avec new sans oublier d'ajouter à ton projet le fichier
source de ton composant et d'inclure son fichier d'entête dans ton
Unit1.h ou Unit1.cpp.
Michel
--
----------------------------------------
Michel Leunen
mailto:michel@leunen.com
http://www.leunen.com/cbuilder/
----------------------------------------
cependant le composant se compile puis s'installe et BCB crie d'autre par dans la palette quand le selectionne et que je le pose sur un formulaire il me dit "Erreur interne efface"
Erreur souvent en relation avec les blocs try/catch
}catch(EFOpenError r){
On catch les exceptions par référence:
catch(EFOpenError &r)
d'autre par j'ai parametré le paquet d'execution en conception et execution est ce une bonne solution ?
Ca, c'est à toi de voir. Dans un cas, tu dois redistribuer certaines dll, et pas dans l'autre cas.
Autre chose je voudrais que sur la propriete Path_Img en mode conception apparaisse une boite de dialogue permettant de choisir le fichier (comme fichier->Ouvrir par exemple avec un filtre) comment faire pour que cela soit dans l'inspecteur d'object ?
Tu dois créer un property Editor. Le sujet est un peu trop vaste pour être traité ici. Je crois qu'il y a des exemples dans l'aide sinon Google...
Il y a t'il des chose a mettre dans le destructeur ?
Pas dans ton cas.
Comment faire pour faire du pas a pas (debug) avec le compo et un form ?
Tu crées une appli qui utilise ton composant en l'initialisant lors de son exécution. Autrement dit, tu ne le mets pas sur ta form mais tu l'initialises avec new sans oublier d'ajouter à ton projet le fichier source de ton composant et d'inclure son fichier d'entête dans ton Unit1.h ou Unit1.cpp.
Michel -- ---------------------------------------- Michel Leunen mailto: http://www.leunen.com/cbuilder/ ----------------------------------------
Mais rien dans ce que je t'ai dit n'est à l'origine de ton erreur. Malheureusement, je n'ai pas BCB installé ici et je ne peux donc pas faire de test avec ton code. Il va falloir que tu testes ton composant avec ton débugger.
Michel -- ---------------------------------------- Michel Leunen mailto: http://www.leunen.com/cbuilder/ ----------------------------------------
Mais rien dans ce que je t'ai dit n'est à l'origine de ton erreur.
Malheureusement, je n'ai pas BCB installé ici et je ne peux donc pas
faire de test avec ton code. Il va falloir que tu testes ton composant
avec ton débugger.
Michel
--
----------------------------------------
Michel Leunen
mailto:michel@leunen.com
http://www.leunen.com/cbuilder/
----------------------------------------
Mais rien dans ce que je t'ai dit n'est à l'origine de ton erreur. Malheureusement, je n'ai pas BCB installé ici et je ne peux donc pas faire de test avec ton code. Il va falloir que tu testes ton composant avec ton débugger.
Michel -- ---------------------------------------- Michel Leunen mailto: http://www.leunen.com/cbuilder/ ----------------------------------------
Olivier
j'ai fait les modifs que tu m'adit mais j'ai toujours le meme probleme debordement de pile que je pose le compo
si tu as 5 mn pourra tu jetter un oeil?
encore merci -- Cordialement , Sarda Olivier
Site Web: http://membres.lycos.fr/osarda
Michel Leunen a écrit dans le message : 3f422d8f$0$292$
{ > pImg->LoadFromFile(PathImgBackRound); > for(int x=0 ; x < this->Width ; x+=pImg > idth){ > for (int y=0 ; y < this->Height ; y+=pImg ->Height){ > _pTv->Canvas->Draw(x,y,pImg); Idem que plus haut: Canvas->Draw(...); > } > } > }catch(EFOpenError &Err){ > > MessageDlg("Impossible de charger l'image :n" +PathImgBackRound, > mtError, TMsgDlgButtons() << mbOK, 0); > > } > > > delete pImg ; > > }
> ou est encore mon erreur ?
Mais rien dans ce que je t'ai dit n'est à l'origine de ton erreur. Malheureusement, je n'ai pas BCB installé ici et je ne peux donc pas faire de test avec ton code. Il va falloir que tu testes ton composant avec ton débugger.
Michel -- ---------------------------------------- Michel Leunen mailto: http://www.leunen.com/cbuilder/ ----------------------------------------
j'ai fait les modifs que tu m'adit mais j'ai
toujours le meme probleme
debordement de pile que je pose le compo
si tu as 5 mn pourra tu jetter un oeil?
encore merci
--
Cordialement ,
Sarda Olivier
Site Web:
http://membres.lycos.fr/osarda
Michel Leunen <mleu@skynet.be> a écrit dans le message :
3f422d8f$0$292$ba620e4c@reader0.news.skynet.be...
{
> pImg->LoadFromFile(PathImgBackRound);
> for(int x=0 ; x < this->Width ; x+=pImg
> idth){
> for (int y=0 ; y < this->Height ; y+=pImg ->Height){
> _pTv->Canvas->Draw(x,y,pImg);
Idem que plus haut:
Canvas->Draw(...);
> }
> }
> }catch(EFOpenError &Err){
>
> MessageDlg("Impossible de charger l'image :n" +PathImgBackRound,
> mtError, TMsgDlgButtons() << mbOK, 0);
>
> }
>
>
> delete pImg ;
>
> }
> ou est encore mon erreur ?
Mais rien dans ce que je t'ai dit n'est à l'origine de ton erreur.
Malheureusement, je n'ai pas BCB installé ici et je ne peux donc pas
faire de test avec ton code. Il va falloir que tu testes ton composant
avec ton débugger.
Michel
--
----------------------------------------
Michel Leunen
mailto:michel@leunen.com
http://www.leunen.com/cbuilder/
----------------------------------------
{ > pImg->LoadFromFile(PathImgBackRound); > for(int x=0 ; x < this->Width ; x+=pImg > idth){ > for (int y=0 ; y < this->Height ; y+=pImg ->Height){ > _pTv->Canvas->Draw(x,y,pImg); Idem que plus haut: Canvas->Draw(...); > } > } > }catch(EFOpenError &Err){ > > MessageDlg("Impossible de charger l'image :n" +PathImgBackRound, > mtError, TMsgDlgButtons() << mbOK, 0); > > } > > > delete pImg ; > > }
> ou est encore mon erreur ?
Mais rien dans ce que je t'ai dit n'est à l'origine de ton erreur. Malheureusement, je n'ai pas BCB installé ici et je ne peux donc pas faire de test avec ton code. Il va falloir que tu testes ton composant avec ton débugger.
Michel -- ---------------------------------------- Michel Leunen mailto: http://www.leunen.com/cbuilder/ ----------------------------------------