Différenciation du code executer en mode execution et en mode conception

Résolu
zenate_cs Messages postés 5 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 26 juillet 2005 - 25 juil. 2005 à 15:57
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 29 juil. 2005 à 00:12
bonjour à tous

je suis débutant en c# et je suis en train de developper une library
pour developper plus rapidement une application de gestion de
production.

mon probleme est que mes objets on des propriétés obligatoires. il est
possible de réaliser le code pour prevoire les cas ou elles ne sont pas
remplis et cela viendra dans la phase de test et debugage final. Pour
le moment, j'aimerais prevenir l'utilisateur et fermer la fenetre.

GROS PROBLEME : en conception, à la création de l'objet, les propriétés
ne sont pas renseignées et pas possible de les renseigner par defaut.
j'ai donc un beau message et la partie design qui devient blanche
(form.hide()).



est il possible différencier le code executer en mode execution et en mode conception?



ma library avance et je compte la mettre sur le site.

6 réponses

LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
25 juil. 2005 à 16:33
Salut zenate_cs,

Tu peux utiliser la propriété static 'Component.DesignMode' qui est à true si tu est en mode Design !!
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
29 juil. 2005 à 00:12
Salut,

Pas d'accord pour le 1

Le code situé dans

#IF DESIGNMODE
//ton code ki existe seulement en mode design
#endif

sera supprimé à la compilation si la constante de compilation conditionnelle "DESIGNMODE" n'est pas définie, alors que dans le cas d'un test

if ( DesignMode)
{
}

le compilateur laissera le code, qui ne sera executé que lorsque le composant sera en mode Design.

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
zenate_cs Messages postés 5 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 26 juillet 2005
25 juil. 2005 à 16:46
merci LUDINSKI : je test ça mais ça a l'air tout à fait OK. premiere communoté de développeur que je test et je doit avouer que je suis agreablment surpris par le temps de reponse.
0
zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 1
26 juil. 2005 à 09:34
Tu as encore la possibilité d'utiliser et c pitete mieux d'ailleur :

#IF DESIGNMODE
//ton code ki existe seulement en mode design
#endif

ou encore :

#IF DEBUG
//ce code s'executera seulement en mode debuggage
#endif


<HR>
ZeBobo5
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zenate_cs Messages postés 5 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 26 juillet 2005
26 juil. 2005 à 10:51
je sens que je vais en apprendre beaucoup aujourd'hui.

1°/ quel est la difference entre 'Component.DesignMode' et 'DESIGNMODE'.

2°/ je ne connais pas la maniere d'ecrire '#IF ' mais 'IF
(<var1><comparteur><var2>) {}'. fonctionnement?



si vous avez le temps de répondre à ces petites questions, ça ferrait avancer un debutatant.

MERCI pour tout.
0
zebobo5 Messages postés 273 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 6 février 2009 1
26 juil. 2005 à 11:00
1°/ La différence, il n'y en a aucun à priori, c la mm classe
2°/ Les directives de pré-traitement (ou "directives pré-processeur") permettent de donner des informations supplémentaires au compilateur, celles-çi pouvant être composées d'expressions conditionnelles.
L'un des premiers usages de ces directives se trouve donc dans la phase de déboguage, où elles permettent de lancer certains traitement, ou d'en remplacer d'autres... Le développeur peut ainsi avoir une meilleure visibilité de son code.


<HR>
ZeBobo5
0
Rejoignez-nous