[ASP.NET] PB => proprieté Type de RequiredFieldValidator [Résolu]

cs_nitrique 346 Messages postés jeudi 1 mai 2003Date d'inscription 4 avril 2011 Dernière intervention - 17 déc. 2004 à 14:15 - Dernière réponse : jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention
- 17 déc. 2004 à 16:55
Bonjour @ tous,

Je crée un composant: RequiredFieldValidator en dynamique et lorsque je lui affecte la proprieté: Type, il fait la tronche:
(Identificateur attendu(e) mais 'TYPE' trouvé(e)).
J'ai l'impression qu'il l'interprète comme le mot réservé pour créer un type et non comme la proprieté du composant (peut-être me trompe-je)

cv := System.Web.UI.WebControls.CompareValidator.Create;
cv.ControlToValidate := txt.ID;
cv.Operator := ValidationCompareOperator.DataTypeCheck; // Marche
cv.Type := ValidationDataType.date; // Erreur

Existe t-il un autre moyen d'affecter les proprietés d'un composant ?

PS: Je suis en Delphi.net mais c pareil.

Merci d'avance.
;)
David, à VERSAILLES
Afficher la suite 

8 réponses

Répondre au sujet
cs_nitrique 346 Messages postés jeudi 1 mai 2003Date d'inscription 4 avril 2011 Dernière intervention - 17 déc. 2004 à 15:51
+3
Utile
Bonjour @ moi,

bon, j'ai trouvé une pseudo-Solution.
Si qq a mieux, je suis preneur:

Aller chercher la proprieté pas adresse, c'est bizzare mais ça marche.

;)
David, à VERSAILLES
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_nitrique
cs_nitrique 346 Messages postés jeudi 1 mai 2003Date d'inscription 4 avril 2011 Dernière intervention - 17 déc. 2004 à 16:06
+3
Utile
Décidement, les tirs se croisent :)

une variable Par adressage se fait de syntaxe différente selon le langage, pour delphi, il faut mettre un & devant le nom de la variable, pour C, je croit que c'est @, pour vb, je croit que c'est byref et pour d'autres c'est *, fouilles.

;)
David, à VERSAILLES
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_nitrique
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 17 déc. 2004 à 15:53
0
Utile
Je me disais aussi que le code etait faux :big) normal si t'es en Delphi ;)

Mauvaise nouvelle, c'est peut etre un bug du a delphi :sad) moi avec mon bon VB

ca me donne ca :

Dim txtbox As New TextBox
txtbox.ID = "txt"

Dim cv As New System.Web.UI.WebControls.CompareValidator
cv.ID = ""
cv.Operator = ValidationCompareOperator.DataTypeCheck
cv.Type = ValidationDataType.Date
cv.ControlToValidate = "txt"

PlaceHolder1.Controls.Add(txtbox)
PlaceHolder1.Controls.Add(cv)

et ca pose aucun problème

mais c'est quoi ce Create dans la declaration c'est l'instanciation du controle, l'equivalent de notre new ?

il y en a qu'on de ses idées de coder en delphi.net aussi :-p

ca me parait quand meme bizarre que ce soit un bug mais je vois pour l'instant que ca comme explication. sinon essaye de mettre ton comparevalidator dans le code html, de pas spécifier ton type la bas mais dans le code behind, ca fait toujours la meme erreur ?

Cyril
Commenter la réponse de jesusonline
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 17 déc. 2004 à 16:01
0
Utile
lol t'as répondu avant que je poste ma réponse :)

tu peux mettre un bout de code, j'ai pas compris "chercher la propriété par adresse"

Cyril
Commenter la réponse de jesusonline
cs_nitrique 346 Messages postés jeudi 1 mai 2003Date d'inscription 4 avril 2011 Dernière intervention - 17 déc. 2004 à 16:02
0
Utile
Salut jesusonline,

Si ça marche en VB, la syntaxe est donc bonne car ils sont assez similaire dans le fond. C'est donc bien un bug de Delphi (ils sont nombreux mais largement écrasés par ses qualités).

Ui, mon .create revient à ton new, c'est l'instanciation d'un objet.
c comme ça... une fois qu'on le sait, ça ne change rien.

Je ne peux pas le créer dans le code HTML car delphi sépare complètement les 2 (2 fichiers séparés) et que je tient à le créer dynamiquement.

Mais tu pourras voir ci-dessus que j'ai réussi à détourner le Pb.
Merci pout ton aide.

;)
David, à VERSAILLES
Commenter la réponse de cs_nitrique
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 17 déc. 2004 à 16:21
0
Utile
OK je peux voir le code ? je comprendrais peut etre mieux, ca la je vois toujours pas de quoi tu veux parler, j'en ai une idée mais si c'est ca je comprendrais encore moins comment et pourquoi ca marche :big)

Sinon pour la séparation du code Delphi HTML il y a aussi ca en VB.net C# etc... en VB.net ca fonctionne comme ca :

dans l'aspx :
Cyril
Commenter la réponse de jesusonline
cs_nitrique 346 Messages postés jeudi 1 mai 2003Date d'inscription 4 avril 2011 Dernière intervention - 17 déc. 2004 à 16:39
0
Utile
Voici le code:

cv.&Type := ValidationDataType.date; // Marche

Comme ça, j'accède direcement à l'adresse ou est stockée le composant dans la memoire, ça me surprends aussi mais ça marche, ALLELUIA !

Je n'ai pas reflector et je ne connais pas du tout, c quoi ?

;)
David, à VERSAILLES
Commenter la réponse de cs_nitrique
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 17 déc. 2004 à 16:55
0
Utile
reflector c'est un outil qui permet de disassembler une dll ecrit en tout langage .net.

pour plus d'info : http://www.aisto.com/roeder/dotnet/

Reflector is a class browser for .NET components. It supports assembly and namespace views, type and member search, XML documentation, call and callee graphs, IL, Visual Basic, Delphi and C# decompiler, dependency trees, base type and derived type hierarchies and resource viewers.

Je ne comprend toujours pas le code :D en totu cas je ne pense pas que ce soit ByRef et le @ en C# equivaut à un casting en string : strings = "Cyril" equivaut a (string)"Cyril" equivaut a Ctype("Cyril", String)

mais d'apres ta description ca doit faire reference au pointeur, et VB ne peut pas jouer avec les pointeurs, C# par contre le peu.

Effectivement, à problème bizarre solution bizarre :big)

Cyril
Commenter la réponse de jesusonline

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.