lbensch
Messages postés55Date d'inscriptionvendredi 1 avril 2005StatutMembreDernière intervention10 juin 2010
-
15 mars 2006 à 15:03
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
21 mars 2006 à 21:04
Bonjour,
Je suis en train de créer un composant dans lequel j'aurais besoin d'une propriété TableName, j'ai mis une autre propriété DatabaseName, mais je n'arrives pas a avoir le comportement similaire au composant TTable, c'est à dire, en développement, avoir directement la liste des tables de la base de données DatabaseName. Ma propriété est déclaré exactement comme celle de TTable :
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 18 mars 2006 à 00:10
Pour que l'inspecteur d'objets utilise l'éditeur de propriétés adapté, il faut lui indiquer en utilisant RegisterPropertyEditor :
(extrait de bdereg.pas)
lbensch
Messages postés55Date d'inscriptionvendredi 1 avril 2005StatutMembreDernière intervention10 juin 2010 21 mars 2006 à 10:05
Bon je ne sais pas comment, m'escuser, mais efféctivement, je n'ai pas bien lu ta réponse la première fois, mais j'ai persisté la deuxième, donc la troisième, je me suis rattrapé, j'ai ouvert le fichier bdereg.pas, et j'ai trouvé mon bonheur avec le fichier bdreg.pas aussi.
Donc, la réponse est acceptée, deux fois même, je te remerci et encore désolé, d'etre un peu tête en l'air.
lbensch
Messages postés55Date d'inscriptionvendredi 1 avril 2005StatutMembreDernière intervention10 juin 2010 16 mars 2006 à 08:46
Je viens de les télécharger et de regarder le code mais il n'y a pas de propriété TableName, il utilise une propriété TDataSource, et là, c'est l'IDE qui gère l'affichage des composants connus.
Donc, ma question reste d'actualité.
Vous n’avez pas trouvé la réponse que vous recherchez ?
lbensch
Messages postés55Date d'inscriptionvendredi 1 avril 2005StatutMembreDernière intervention10 juin 2010 20 mars 2006 à 09:47
La fonction RegisterPropertyEditor permet de créer un éditeur de propriété, mais propriété TableName de TTable n'a pas d'éditeur de propriété, il s'agit d'une simple liste, de plus si je trace le code de Db, DbTables, il n'y a aucun appelle à RegisterPropertyEditor.
Donc, je pense que tel que j'ai compris cette fonction, elle n'est pas la réponse à mon problème, sauf si il y a une autre manière de l'utiliser auquel cas, pourais-je avoir un exemple ?
lbensch
Messages postés55Date d'inscriptionvendredi 1 avril 2005StatutMembreDernière intervention10 juin 2010 21 mars 2006 à 09:17
Je viens de regarder a nouveau, car en effet, il est possible que je ne comprennes pas tout.
Ton exemple, premierement, je le déclare où ? j'ai essayé dans la procédure Register, ça a l'air d'être bon.
Ensuite, je ne suis pas sûr de tout saisir, je dois créer une class TTableNameProperty ou alors elle existe ? et si je dois la créer comment faire pour qu'elle contienne la liste des tables de ma base ?
Mon objet s'appelle TZoom, avec une propriété nommée TableName de type TFileName, donc ma déclaration devra être :
RegisterPropertyEditor(TypeInfo(TFileName), TZoom, 'TableName'
, TTableNameProperty);
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 21 mars 2006 à 21:04
Il est vrai que l'enregistrement d'un éditeur de propriétés est un peu déroutant. Si tu crées d'autres composants, cette démarche te sera utile pour affecter des éditeurs de propriétés tout fait (comme ci-dessus) ou alors de ton cru. Enfin, je suis heureux qu'on ait fini par s'entendre .
A mon tour d'accepter ta réponse
May Delphi be with you !
<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.