Property, évenement, ActiveX DLL

Résolu
Messages postés
112
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
31 juillet 2006
-
Messages postés
112
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
31 juillet 2006
-
Bonjour, Je sais que c'Est p-e ma 4e question sur les ActiveX et Property, mais j'ai presque compris la comment sa marche Me reste juste 1 question (pour l'instant) :

Je veux faire une sorte d'event lorsque ma property change, j'ai faite sa :


Public
Property Display()
As Options

Get
Return m_Options

End
Get
Set(
ByVal value
As Options)
m_Options = value

If UseBD()
Then
fillDataSet()
fillDataSetOLD()

End
If
Select
Case m_Options

Case Options.Month : addDateMonth(DTPCalendar.Value.Date)

Case Options.Week : addDateWeek(DTPCalendar.Value.Date)

Case Options.Day : addDateDay(DTPCalendar.Value.Date)

End
Select
End
Set
End
Property

Mon seul petit probleme avec sa, c'est que si l'utilisateur change la propriété a partir de la fenetre Properties (donc le programme ne roule pas) Ben sa exécute tous mon code, et il ne faut pas... Le code doit seulement etre éxécuté lorsque la porperty est changer durant le fonctionnement du programme...

Donc si vous avez une solution, merci de bien vouloir la partager!!

8 réponses

Messages postés
112
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
31 juillet 2006

J'AI TROUVÉ


If DesignMode
Then
...
end if

C'est le même principe que ce que PCPT a proposé!!

En t-k la sa marche tres bien, pas besoin de Try
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22

Une solution peut-etre sera de cacher la propriété dans la fenetre d'édition des propriétés avec l'attribut Browsable.

<System.ComponentModel.
Browsable(
false
)>Public Property
Display()
As
Options
Get
.......

End

Get
Set
(
ByVal
value
As
Options)

......

End

Set
End

Property
Messages postés
112
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
31 juillet 2006

hummm premierement Merci pour ta 3e réponse en 1 heure

Mais oui sa corrigerais un peu mon probleme, mais dans le meilleur des monde, il faudrait que la propriété soit dans la fenetre.... Parce que il faudrait que l'utilisateur puisse modifier des 2 facons... Pis pas besoin de faire d'action sauf changer la variable lorsque la propriété est changer dans la fenetre des propriété parce que tout ce que sa va faire, va se refaire dans le form.load

Mais pk je ne veux vraiment pas que sa fasse quelque chose, c'est que dans fillDataSet(), j'utilise un BD qui est situé à Application.StartupPath, et ce n'est pas le startuppath quand c'est a partir de la fenetre des propriété, donc sa plante...

Ma aller continuer d'essayer des trucs, mais si tu as d'autres idées, gene toi pas!!!
Messages postés
112
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
31 juillet 2006

en mettant un Try sa marche, mais je n'aime pas sa , parce que sa crée quand meme une erreur...

En t-k c'est déja mieu que rien mais ce n'est pas parfait... Si vous trouvez ce qui est parfait dites moi le
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Avec un try...catch tu as la meme erreur ?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,

je ne sais pas si çà peut t'aider :

en VB6, le problème ne se poste pas avec les dlls puisqu'il n'y a pas de propriété explorable en conception.



par contre pour les usercontrols : if usercontrol.ambient.usermode then ....

à toi de voir si il y a quelquechose de similaire en .net pour les dll.....

++

PCPT [AFCK]
Messages postés
112
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
31 juillet 2006

J'ai regarder un peu avec le if usercontrol.ambient.usermode then , mais ya pas grand chose dans usercontrol. , En t-k rien qui va pouvoir m'aider a premiere vue... Mais bon je vais essayer de trouver un équivalent, sa va p-e m'aider

Pis pour le Try, non je n'ai plus d'erreur, mais on s'entend pour dire que ce n'est pas la meilleur facon de faire? Mais au moins sa marche, c'Est un début

Merci a tlm, mais sé pas fini
Messages postés
112
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
31 juillet 2006

Merci PCPT et Willi !!!!