Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2309 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Il est ou son probleme a lui (Réglé)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Il est ou son probleme a lui (Réglé)

n°1188079
Berceker U​nited
PSN : berceker_united
Posté le 30-08-2005 à 18:10:08  profilanswer
 

Bonjours.
J'un problème dont je ne comprend pas la raison. Je suis pas une bete en asp alors je ne critique pas (pour l'instant) le language.
J'ai une methode dans une classe presente ci-dessous, Cette methode place les informations dans une classe. La classe Ticket fonction (testé), la requete SQL fonctionne (testé).
Je voudrais faire un return de l'objet ticket précédement alimenté. Problème c'est que j'ai ce message d'erreur

Citation :


Erreur d'exécution Microsoft VBScript error '800a01b6'
Cet objet ne gère pas cette propriété ou cette méthode: 'out'


Même si je place l'objet en reout de la fonction j'ai toujours ce même message.  
Quel est cette erreur. Avec une autre methode j'ai eu ce même problème mais je l'ai contourné.
Je veux juste faire un return de mon objet.
Merci.

Code :
  1. Public Function SelectTicket()
  2.  Set CN = Server.CreateObject("ADODB.Connection" )
  3.  Set RS = Server.CreateObject("ADODB.Recordset" )
  4.  Set objTicket = new Ticket
  5.  CN.Open sCNINTERwrite
  6.  SQL = "SELECT * FROM tb_ticket WHERE tck_id = " & idTicket
  7.  RS.Open SQL, CN, 2, 4
  8.  if not RS.EOF then
  9.   echo RS("tck_message" )
  10.   objTicket.setMessage(RS("tck_message" ))
  11.   objTicket.setStatus(RS("tck_status" ))
  12.   objTicket.setIdUtilisateur(RS("tck_utilisateur" ))
  13.   objTicket.setType(RS("tck_type" ))
  14.   objTicket.setSujet(RS("tck_sujet" ))
  15.   objTicket.setResp1(RS("tck_resp1" ))
  16.   objTicket.setResp2(RS("tck_resp2" ))
  17.   objTicket.setFichier(RS("tck_fichier" ))
  18.   out = objTicket
  19.  end if
  20.  set objTicket = nothing
  21.  SelectTicket = out
  22. End Function


 
ps :Cette methode a été testé sous différente version de syntaxe. Pour autant, c'est toujours pareille. Aussi que la fonction SelectTicket est une methode d'une classe


Message édité par Berceker United le 31-08-2005 à 12:07:08
mood
Publicité
Posté le 30-08-2005 à 18:10:08  profilanswer
 

n°1188393
Berceker U​nited
PSN : berceker_united
Posté le 31-08-2005 à 09:27:43  profilanswer
 

up

n°1188397
guendalf
Posté le 31-08-2005 à 09:30:06  profilanswer
 

Je te conseil de rajouter

Code :
  1. Option Explicit

au debut de ton module
Tu seras ainsi force de declarer toutes tes variables

Code :
  1. Dim ma_var As son_type


 
Ici tu es entrain de manipuler un objet (objTicket).. or en VB pour definir un objet il faut utiliser le mot clef "Set".
 
donc si tu fais

Code :
  1. '...
  2. Set out = objTicket
  3. '....
  4. Set SelectTicket = out


 
Ca ira bcq mieux...
P.S: Profite aussi pour rajouter le type de la valeur de retour de ta fonction..

Code :
  1. Public Function nom_de_la_fonction(param As param_type,..) As retour_type


 
Si tu ne precise pas le type d'une variable ou d'une fonction, elle sera considere de type "Variant" (qui, entre nous, est un truc extrement etrange dans VB, qui ne devrait pas exister... Quand on declare une variable, on sait quel est on type, ce n'est pas une poubelle ou on met se qui nous passe par la tete dedans!)


---------------
Guendalf
n°1188412
Berceker U​nited
PSN : berceker_united
Posté le 31-08-2005 à 09:52:29  profilanswer
 

Merci beaucoup sa marche.  :)  
En faite j'avais je pensais pas que sa pouvait être du faite que je n'ai pas utilisé l'élément set car j'ai déjà manipulé une méthode en récurif qui retournais un tableau d'objet et j'ai pas eu de souci. Je savais qu'il me manquais une connaissance particulière pour régler se problème ;).
Concernant le As j'ai l'impression que l'asp n'apprecie pas.

n°1188419
pc75
Posté le 31-08-2005 à 10:01:16  profilanswer
 

Bonjour
 

Citation :


Concernant le As j'ai l'impression que l'asp n'apprecie pas.


 
En ASP (VbScript), les variables ne sont pas typées. Donc pas de As

n°1188422
Berceker U​nited
PSN : berceker_united
Posté le 31-08-2005 à 10:03:52  profilanswer
 

Merci à vous  [:bigoudi33] ! j'en ai appris aujourd'hui. Dire qu'hier je m'étais énervé  :sarcastic:

n°1188565
Berceker U​nited
PSN : berceker_united
Posté le 31-08-2005 à 12:10:51  profilanswer
 

Cas il y a pas besoin de placer un set. C'est pour cela que sa m'embrouillais.

Code :
  1. Public Function ListeTicket(idUser)
  2.  Dim CN, RS, SQL,i
  3.  i=0
  4.  Dim objTicket
  5.  Redim objTicket(i)
  6.  Set CN = Server.CreateObject("ADODB.Connection" )
  7.  Set RS = Server.CreateObject("ADODB.Recordset" )
  8.  CN.Open sCNINTERwrite
  9.  SQL = "SELECT * FROM tb_ticket WHERE tck_resp1 = " & idUser
  10.  RS.Open SQL, CN, 2, 4
  11.  while not RS.EOF
  12.   Redim preserve  objTicket(i)
  13.   Set objTicket(i) = new Ticket
  14.   objTicket(i).setMessage(RS("tck_message" ))
  15.   objTicket(i).setStatus(RS("tck_status" ))
  16.   objTicket(i).setIdUtilisateur(RS("tck_utilisateur" ))
  17.   objTicket(i).setType(RS("tck_type" ))
  18.   objTicket(i).setSujet(RS("tck_sujet" ))
  19.   objTicket(i).setResp1(RS("tck_resp1" ))
  20.   objTicket(i).setResp2(RS("tck_resp2" ))
  21.   objTicket(i).setFichier(RS("tck_fichier" ))
  22.   i=i+1
  23.   RS.movenext
  24.  wend
  25.  set CN = nothing
  26.  set RS = nothing
  27.  ListeTicket = objTicket
  28. End Function


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Il est ou son probleme a lui (Réglé)

 

Sujets relatifs
Probleme d'utilisation de DOM[XML et AS] Problème liée à onLoad...
problème avec un regexProblème d'espacement entre les tableaux en PHP
xhtml 1.0 problème dès l'affichage d'une image[Réglé] probleme pour inclure une page
[Réglé] Problème de sélection de données[REGLE ] Probleme de couleur
problème pour lire ma base de données, PROBLEME REGLE ;)[reglé]probleme mysql
Plus de sujets relatifs à : Il est ou son probleme a lui (Réglé)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR